- 博客(127)
- 资源 (7)
- 收藏
- 关注
原创 纯小白,0基础入门水彩的学习路线
素描:不用系统学,知道“轮廓和深浅”就行;速写:简单练一点(10分钟/天),对起稿帮助很大;路线:工具→基础技法→简单临摹(结合速写)→自由画(按需补漏)。从现在开始,拿起笔涂第一笔颜色吧,爱好的门槛从来都不高~
2025-08-06 09:37:50
260
原创 除了转义字符,Java还有哪些需要注意的语法点?
本文总结了Java编程中容易忽略或误用的关键语法点,主要包括:1)数据类型转换规则与包装类空指针风险;2)String的不可变性、比较方式和常量池机制;3)数组初始化和二维数组特性;4)面向对象中方法重写限制、构造方法调用规则;5)异常处理的finally执行顺序和类型匹配;6)泛型的类型擦除限制;7)final、static等关键字的特殊用法;8)流程控制注意事项;9)访问修饰符的作用范围。这些语法细节直接影响代码的正确性和性能,需要开发者特别注意。掌握这些知识点有助于避免常见错误,编写更健壮的Java程
2025-07-23 14:34:29
544
原创 java有哪些字符需要转译
摘要:Java正则表达式需要转义12个元字符(如.、*、+、?等),通过\\进行转义。反斜杠本身需用\\\\表示。在字符集[]内,除-、^、]外多数元字符无需转义。示例展示了如何转义.、*和\进行字符串分割,强调Java字符串与正则转义的双重处理机制。
2025-07-23 14:25:44
190
原创 密码管理安全防御
密码管理的核心是“多层次防御”:通过复杂密码+哈希加盐存储+HTTPS传输+多因素认证+生命周期管控,结合用户教育和技术工具,构建从生成到销毁的全链条安全体系。记住:没有绝对安全的密码,只有不断优化的管理策略。
2025-07-17 16:13:22
776
原创 xss防御策略
XSS(跨站脚本攻击)通过注入恶意脚本窃取信息或劫持会话。防御需多层面措施:输入验证(明确规则、过滤危险字符);输出编码(根据HTML、JS等场景转义特殊字符);禁用危险API(如用textContent替代innerHTML);启用CSP限制资源加载;设置HttpOnly/Secure Cookie保护会话;对用户生成内容采用白名单过滤。需结合多种策略构建纵深防御,包括输入验证、输出编码、环境限制等,才能有效防范XSS风险。
2025-07-17 14:38:14
880
原创 `@Configuration` 是 Spring 框架中的一个注解
Spring的@Configuration注解用于定义配置类,替代XML配置。被该注解标记的类可包含@Bean方法,这些方法返回的对象会注册为Spring容器中的bean。示例展示了一个配置类AppConfig,其中定义了两个bean:MyService和MyRepository。这种方式比XML配置更直观且类型安全,通过Java代码实现依赖注入配置。
2025-07-17 14:26:30
193
原创 mybatis中分页和排序设计,避免sql注入
)@Override// 校验SQL中的排序参数分页安全优先使用分页插件(如PageHelper)。手动分页时,用#{}绑定offset和pageSize。排序安全对排序字段实施白名单校验。对排序方向强制转换为ASCDESC。避免直接拼接用户输入,使用预定义映射或校验后再拼接。防御性编程永远不信任用户输入。对所有外部参数进行严格校验。添加默认排序,避免无排序导致的不确定结果。通过以上措施,可彻底杜绝分页和排序场景下的SQL注入风险。
2025-07-17 13:57:55
278
原创 js生成日期时间随机数组合(20位)可拓展位数
<script> /* * 生成一个由日期,时间和八位随机数组成的代码 */ function dateAndRandomNum() { var day2 = new Date(); // 获取年份 var s2 = day2.getFullYear()+""; // 获取两位数月份 if((day2.ge...
2021-04-27 14:33:00
929
原创 小白初识各阶段开发环境
图片来自领导真实的开发环境一般有这几种,他们分别都有不同的作用.一、本地环境(localhost)本地开发是环境,自己的编辑器,可以简单的编写测试二、开发环境(DEV)开发环境是程序猿们专门用于开发的服务器,配置可以比较随意, 为了开发调试方便,一般打开全部错误报告。通俗的讲,项目尚且在编码阶段,我们的代码一般在开发环境中,不会在生产环境中,生产环境组成:操作系统 ,web服务器 ,语言环境。三、测试环境(SIT )一般是克隆一份生产环境的配置,一个程序在测试环境工作不正常,那么肯定不能..
2020-12-09 18:09:59
1036
原创 (idea)the file size(2.97M) exceeds configured limit(2.56M).Code insight features are not available问题
目录一. 错误形式二、错误原因:该文件的字节过大三、解决方法:重新设置idea.max.intellisense.filesize的值一. 错误形式某类存在却不能正常引用文件上方显示the file size(x.xx M) exceeds configured limit(2.56M).Code insight features are not available对应位置显示为***.java 文件,与其他文件不同二、错误原因:该文件的字节过大idea默认的文件字节大小为
2020-12-08 17:14:00
4378
3
原创 idea项目编码格式为GBK时,tomcat控制台中文乱码
idea中的项目的编码格式为GBK通常这种情况下,我们的控制台输出中文是会出现乱码的问题.这时,网上查到的一般都是修改的idea的编码,但是,项目的编码格式是不能变的.我们可以修改tomcat的配置文件.tomcat的默认编码格式是utf-8.而windows默认的编码格式为gbk,只需要把tomcat的修改为gbk就可以了;...
2020-12-04 16:21:26
1945
1
原创 年轻代和老年代都有哪些垃圾回收器?
年轻代的垃圾收集器包含: Serial、ParNew、Parallell老年代则包括Serial Old老年代版本、CMS、Parallel Old老年代版本和JDK11中的G1收集器。Serial:单线程版本收集器,进行垃圾回收的时候会STW(Stop The World),也就是进行垃圾回收的时候其他的工作线程都必须暂停ParNew:Serial的多线程版本,用于和CMS配合使用Parallel Scavenge:可以并行收集的多线程垃圾收集器Serial Old:Serial的老年代版本,
2020-11-21 17:17:07
2331
原创 ThreadLocal类的简单理解
ThreadLocal类并不是用来解决多线程环境下的共享变量问题,而是用来提供线程内部的共享变量,在多线程环境下,可以保证各个线程之间的变量互相隔离、相互独立。在线程中,可以通过get()/set()方法来访问变量。ThreadLocal实例通常来说都是private static类型的,它们希望将状态与线程进行关联。这种变量在线程的生命周期内起作用,可以减少同一个线程内多个函数或者组件之间一些公共变量的传递的复杂度。...
2020-11-19 15:36:46
167
原创 gif小动图显示B+Tree——插入,删除,查找,输出
什么是B+TreeB+Tree是在B-Tree基础上的一种优化,使其更适合实现外存储索引结构,InnoDB存储引擎就是用B+Tree实现其索引结构。从B-Tree结构图中可以看到每个节点中不仅包含数据的key值,还有data值。而每一个页的存储空间是有限的,如果data数据较大时将会导致每个节点(即一个页)能存储的key的数量很小,当存储的数据量很大时同样会导致B-Tree的深度较大,增大查询时的磁盘I/O次数,进而影响查询效率。在B+Tree中,所有数据记录节点都是按照键值大小顺序存放在同一层的叶子
2020-11-18 20:55:01
1099
1
原创 最头疼的必问哈希
HashMap 底层实现原理HashMap 根据键的hashCode 值存储数据,大多数情况下可以直接定位到它的值.因而具有很快的访问速度,但是遍历顺序却不确定的.HashMap 最多只允许一条记录的键为null,允许多条记录的值为null。HashMap 非线程安全,即任一时刻可以有多个线程同时写HashMap,可能会导致数据的不一致。如果需要满足线程安全,可以用Collections 的synchronizedMap 方法使HashMap 具有线程安全的能力,或者使用ConcurrentHashM
2020-11-16 21:06:21
311
原创 gc——Java垃圾清理
gc垃圾清理什么是GCGC 的区域在哪里?GC 的操作对象是什么?GC 的时机是什么?GC 做了哪些事?GC 常用算法标记-清除算法标记-压缩算法(标记-整理)复制算法分代收集算法什么是GC
2020-11-16 20:41:17
378
原创 Jvm你最需要记住的知识点
jvmjvm是什么jvm模型程序计数器java虚拟机栈本地方法栈堆方法区jdk1.8的改变类加载的过程类加载器的种类类加载机制jvm是什么虚拟机,一种能够运行java 字节码的虚拟机。类加载子系统加载.class 文件到内存。内存结构运行时的数据区。执行引擎执行内存中的.class,输出执行结果(包含GC:垃圾收集器)。本地方法的接口。本地方法库。jvm模型程序计数器就是一个指针,指向方法区中的方法字节码(用来存储指向下一个指令的地址,也即将要执行的指令代码),由执行引擎读
2020-11-16 20:27:15
330
原创 采用stream流处理集合 实现list数据的封装
for循环方式List<CategoryBrand> categoryBrandList = new ArrayList<>(); for (Long categoryId : categoryIds) { CategoryBrand tbCategoryBrand = new CategoryBrand(); tbCategoryBrand.setCategoryId(categoryId); tbCategoryBrand.setBrandId(tbBrandId
2020-11-16 09:09:53
964
原创 跨域问题及解决方案三种解决一种详细说明 CORS
跨域问题什么是跨域为什么有跨域的问题解决方案1)Jsonp2)nginx反向代理3)CORScors解决跨域什么是corscors原理简单请求特殊请求SpringMVC实现cors优化什么是跨域域是指跨域名的访问,以下情况都属于跨域:跨域原因说明示例域名不同www.jd.com 与 www.taobao.com域名相同,端口不同www.jd.com:8080 与 www.jd.com:8081二级域名不同item.jd.com 与 miaosha.jd.com
2020-11-15 18:36:01
992
原创 五分钟搭建MyBatisPlus的入门案例
简介MyBatis-Plus(简称MP)是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为了简化开发、提高效率而生。特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求支持 Lambda 形式调用:通过 Lambda 表
2020-11-15 15:37:14
189
原创 使用navicat Premium链接mysql执行sql报错[Err] 1055 - Expression #1 of ORDER BY clause is not in
出现场景:今天安装了新版的数据库可视化工具,navicat Premium,以前是使用sqlyon。执行sql语句的时候一直报【Err】1055 的错误问题描述:[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column ‘information_schema.PROFILING.SEQ’ which is not functionally d
2020-11-13 21:31:28
532
原创 == 与equals的经典对比
==: 它的作用是判断两个对象的地址是不是相等。即: 判断两个对象是不是同一个对象。(基本数据类型比较的是值,引用数据类型==比较的是内存地址)。equals() : 它的作用也是判断两个对象是否相等。但它一般有两种使用情况,如下:情况1:类没有覆盖equals() 方法。则通过equals() 比较该类的两个对象时,等价于通过==比较这两个对象。情况2:类覆盖了equals() 方法。一般,我们都覆盖equals() 方法来两个对象的内容相等;若它们的内容相等,则返回true (即,认为这两个对象相
2020-11-12 15:31:10
158
4
原创 String 和StringBuffer,StringBuilder 的区别是什么与String 为什么是不可变的?
可变性简单的来说:String 类中使用final 关键字字符数组保存字符串, private final char value[] ,所以String 对象是不可变的。而StringBuilder 与StringBuffer 都继承自AbstractStringBuilder 类,在AbstractStringBuilder中也是使用字符数组保存字符串char[]value 但是没有用final 关键字修饰,所以这两种对象都是可变的。StringBuilder 与StringBuffer 的构造方法.
2020-11-12 15:22:18
125
原创 SpringBoot+SpringCluod框架下的系统架构图
这个是前后端分离的设计模式前台主要是使用了Nuxt(服务端渲染)结合vue完成的页面开发.前端技术:基础的HTML、CSS、JavaScript(基于ES6标准)JQueryVue.js 2.6基于Vue的UI框架:VuetifyVuetify几乎不需要任何CSS代码,而element-ui许多布局样式需要我们来编写Vuetify从底层构建起来的语义化组件。简单易学,容易记住。Vuetify基于Material Design(谷歌推出的多平台设计规范),更加美观,动画效果酷炫,且风.
2020-11-12 14:20:28
4244
2
原创 20分钟看完vue的基础入门
vue前言第一章 认识Vue第二章 Node和NPM1.下载Node.js2.NPM第三章 快速入门1.创建工程2.安装vue2.1.下载安装2.2.引入VUE.JS2.3.npm安装(推荐)2.4 安装总结:3.vue入门案例3. 1.HTML模板3.2.vue渲染3.3.双向绑定3.4.事件处理第四章 Vue实例1.创建Vue实例2.模板或元素3.数据4.方法5.生命周期(了解)5.1.生命周期5.2.了解钩子函数(生命周期)5.3.this第五章 指令1.插值表达式1.1.花括号1.2.v-text和
2020-11-10 22:18:49
542
原创 一行命令让git记住密码
在我们使用git提交的时候,总需要我们输入用户名和密码,非常的麻烦 解决办法就是git config --global credential.helper store
2020-11-10 21:25:12
391
原创 SpringMVC的认识及执行流程
什么是SpringMVCSpringMVC是基于Java的实现了MVC设计模式的请求驱动类型的轻量级WEB框架,通过把Model、View、Controller分离,将web层进行的职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便开发组内人员之间的交流。SpringMVC的流程用户发送请求至前端控制器(DispatcherServlet)前端控制器(DispatcherServlet)收到请求后,调用处理器映射器(HandlerMapping)处理器映射器(Handl
2020-11-09 22:05:03
111
原创 简单认识SpringCloud
SpringCloud前言一、SpringCloud是什么?二、核心组件讲解1.Eureka(服务中心)2.Ribbon(负载均衡工具)3.Hystrix(熔断器)1)雪崩问题2) 线程隔离,服务降级3) 服务熔断:4. Zuul(服务网关)5. Config(配置中心)6. Feign7.SpringCloudBus(消息总线)三、SpringCloud 和Dubbo 的区别四、使用SpringCloud 的优缺点?优点缺点五、服务注册和发现是什么意思?SpringCloud 如何实现?六、 负载平衡的意
2020-11-09 20:22:13
831
原创 Spring Boot框架都会问什么?
SpringBoot必会的问题什么是SpringBoot,SpringBoot有哪些让你选择的优势SpringBoot有哪些常用的Starter,都有什么功能?SpringBoot 自动配置的原理@EnableAutoConfiguration@SpringBootApplicationSpringBoot的核心配置文件运行SpringBoot 有哪几种方式?SpringBoot 2.X 有什么新特性?与1.X 有什么区别?保护SpringBoot 应用有哪些方法?1.在生产中使用HTTPS2.使用Snyk
2020-11-09 15:58:16
572
原创 Docker初识与入门
VM问题的处理办法!!!(1)虚拟机不用的时候尽量挂起(2)如果出现从虚拟机中ping不通本地电脑,或者电脑ping不通虚拟机情况,重置虚拟机网路配置 (2.1)关闭所有镜像 (2.2)选择编辑菜单->虚拟网络编辑器->右下脚更改设置按钮 (2.3)还原默认设置第一章 Docker概述我们写的代码会接触到好几个环境:开发环境、测试环境以及生产环境等等。多种环境去部署同一份代码,由于环境原因往往会出现软件跨环境迁移的问题(也就是**“水土”不服**)[外链图片转存失败
2020-11-08 20:29:01
798
原创 Logger的打印日志
这里写自定义目录标题为什么要使用日志日志的级别在springboot项目中实现日志控制1.在pom文件中导入相关jar包2.在application.yml文件下日志级别控制:3.测试:4. 测试结果为什么要使用日志在开发的时候需要输出部分信息到控制台相比较与print输出,日志可以控制级别用日志的方式的,可以带有级别的关键字,便于分析可以记录到日志文件中,供日后查阅日志的级别logger中提供了五个级别,由大到小分别是:DEBUG INFO WARNING ERROR CRITICA
2020-11-08 17:10:34
2089
2
原创 Elasticsearch集群,java操作es
今日内容集群和分布式Elasticsearch集群Elasticsearch客户端java代码取操作ES有三种方式1、es提供的原生的操作方式 在es 8.0后会移除2、es提供的rest风格的操作方式3、SpringDataElasticSearch的方式第一章 集群和分布式集群和分布式的概念有联系也有区别,我们一起来看。1. 单点式服...
2020-11-07 13:40:20
1737
原创 全文索引elasticsearch
今日内容全文检索lucene实现全文索引ElasticsearchKibana增删改查聚合第一章 什么是全文检索1. 数据分类我们生活中的数据总体分为两种:结构化数据和非结构化数据。 结构化数据:指具有固定格式或有限长度的数据,如数据库,元数据等。 非结构化数据:指不定长或无固定格式的数据,如邮件,word 文档等磁盘上的文件2...
2020-11-06 13:43:38
1354
原创 SpringCloud基础第二部分
今日内容Feign Zuul网关SpringCloudConfigSpringCloudBus第一章 Feign在前面的学习中,我们使用了Ribbon的负载均衡功能,大大简化了远程调用时的代码:1String userStr = restTemplate.getForObject("http://user-service/findById/" + ...
2020-11-04 13:24:47
289
原创 SpringCloud基础第一部分
今日内容系统架构演变服务调用方式Spring的RestTemplateSpringCloudEurekaRibbonHystrix第一章 系统架构演变随着互联网的发展,网站应用的规模不断扩大。需求的激增,带来的是技术上的压力。系统架构也因此也不断的演进、升级、迭代。从单一应用,到垂直拆分,到分布式服务,到SOA,以及现在火热的微服务架构,还有在...
2020-11-03 13:04:37
215
原创 SpringBoot高级
今日内容SpringBoot整合ThymeleafSpringBoot整合RabbitMQSpringBoot原理详细分析自定义启动器SpringBoot监控SpringBoot项目部署第一章 学习SpringBoot整合常用的框架我们在学习项目一时用到了很多框架比如shiro、Dubbo 、Quartz、rabbitMQ,每使用一个框架时都...
2020-11-02 07:06:11
282
原创 SpringBoot基础
今日内容SpringBoot快速入门SpringBoot自动配置原理SpringBoot实践整合jdbc整合mvc整合mybatis第一章 了解SpringBoot在这一部分,我们主要了解以下3个问题:什么是SpringBoot springboot是一种快速使用spring框架的简便的方式为什么要学习SpringBootSprin...
2020-10-31 13:22:16
212
原创 消息模型与生成pdf
今日内容消息中间件RabbitMQ五种消息模型SpringAMQP生产pdfJaspersoft Studio第一章 消息中间件(面试)消息队列中间件是分布式系统中重要的组件,主要解决异步消息,应用解耦,流量削峰等问题,实现高性能,高可用,可伸缩和最终一致性架构。对于消息中间件,常见的角色大致也就有Producer(生产者)、Consumer(...
2020-10-23 12:47:43
402
原创 图表插件和发送邮件
今日内容出口报运图表报表工具统计分析模块发送邮件第一章 出口报运( 重点 )1. 调用流程分析2. 海关报运平台搭建2.1 导入sql脚本到数据库 2.2 导入海关程序将jk_export导入到export_parent的同级目录, 然后使用idea导入此程序 2.3 部署海关程序2.4 程序使用地址1234电子报运提交(post) ht...
2020-10-21 11:57:15
2766
原创 报运单管理和WebService
今日内容合同管理货代整体流程报运单管理webserviceApache的CXF第一章 合同管理1. 需求说明实现合同管理列表的查询,只查询购销合同状态为已提交(state=1)的状态的数据2. ExportController在export_manager_web模块下的com.itheima.web.controller.cargo包下创建...
2020-10-20 12:15:31
377
移除chrome开发者警告.rar
2020-11-12
Elasticsearch搜索案例
2020-11-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人