自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (1)
  • 问答 (7)
  • 收藏
  • 关注

原创 ThreadLocal

ThreadLocal线程本地变量示例:public class ThreadLocalTest { private ThreadLocal<String> local = new ThreadLocal<>(); public static void main(String[] args) { ThreadLocalTest test = new ThreadLocalTest(); test.local.set("zh

2021-04-16 10:29:38 85

原创 logback日志文件按日期和文件大小拆分失败问题

这是我的最开始配置的logback.xml<!-- 文件输出日志, 滚动(时间/文件大小)输出策略 --> <appender name="DEBUGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 过滤器,只记录debug级别的日志 --> <filter class="ch.qos.logback.classic.filter.Leve

2020-12-19 17:32:43 685 1

原创 利用@Conditional注解实现扫描不同的包路径

业务场景:一个接口有多个实现类,在不同的场景下使用不同的实现类,使用配置的方式注入不同的实现类。使用@ConditionalOnExpression注解,只有符合条件才会扫描指定的路径。//配置文件 application.ymldb: hbase: false mysql: true/** * 根据配置文件 ${db.hbase} 选择是否使用hbase * @author hu.caiyun * @create 2020/6/22 */@Configuration@

2020-06-22 16:42:54 511

原创 Redis的五种数据类型

Redis的五种数据类型:String、Hash、List、Set、sorted set。String:字符串类型。Hash:是一个 string 类型的 field 和 value 的映射表,适合用于存储对象。List:是一个简单的字符串列表,按照插入顺序排序,可以从最左边或者最右边插入。Set:是一个无序且不重复的集合。sorted set:是一个有序的且不...

2020-04-02 18:08:56 226

原创 Java虚拟机(JVM)

Java虚拟机是运行在操作系统之上的,与硬件没有直接的交互。JVM体系结构图类装载器(ClassLoader):负责加载class文件,class文件在文件开头有特定的文件标识,并且ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engine决定。类装载器有四种类型:启动类加载器(Bootstrap)、扩展类加载器(Extensio...

2019-10-24 23:04:55 192

原创 设计模式——单例模式

单例模式:一个类只有一个实例,并提供一个全局访问点。直接new一个静态的对象,把构造方法设置成私有的,不能在Printer类以外的地方创建实例。public class Printer { private static Printer printer = new Printer(); private Printer (){} public st...

2019-09-03 14:51:27 93

转载 Java学习路径

书籍汇总:《Java编程思想》、《大话设计模式》、《重构 改善既有代码的设计》(1~2年)《深入理解Java虚拟机》、《Java并发编程实战》、造轮子(2~3年)深入研究一个方向,如:大数据、分布式缓存、分布式消息服务、分布式计算、软负载均衡等(3~4年)弥补《深入理解计算机系统》,《tcp/ip详解 卷一、二、三》,《数据结构与算法》正文:今天LZ是打算来点干货,因...

2019-05-08 10:35:06 226 1

原创 快速排序(QuickSort)

快速排序(QuickSort):通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。例如:在[4,2,9,6,1,8,3,7,5]这组数据中1.先以第一个数4作为标准去判断,此时设i=0为最小的下标,j=8为最大的下标,从最右边下标为8开始...

2019-02-27 17:17:23 137

原创 JDK、JRE、JVM的关系以及环境变量

一、JDK、JRE与JVMJVM(Java Virtual Machine):java虚拟机,用于运行字节码文件,也就是.class文件。java的可移植性,一次编译,到处运行,其实说的是JVM,.class文件通过JVM与操作系统进行交互,所以只要在不同的系统上安装了JVM就可以实现跨平台了。JRE(Java Runtime Environment):java运行时环境,JRE中包含JV...

2018-10-26 13:06:35 156

原创 解决Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile的问题

这个问题是因为项目所需的jdk版本和当前使用的jdk版本不一致导致的,因为我项目的pom.xml中定义了java版本为1.8,但是我实际idea中run这个项目却是1.7。百度说这几个地方需要修改成1.8,结果发现全部都已经改成1.8了,还是不行。最后把1.7版本的jdk移除掉,只留1.8版本的jdk,重新编译,提示setting—&gt;maven—&gt;runner不...

2018-07-25 11:47:58 1516 1

原创 引用js文件导致“Uncaught SyntaxError: Unexpected token <”的问题

出这个错的时候,不知道是哪里的问题,就用注释代码的方式找出问题出在引用js文件导致的,但是引用js文件如果是路径出错提示的是找不到文件,后来才发现是在spring安全配置中没有配置这个文件目录,导致文件被拦截不能访问。

2017-05-24 19:35:16 1749

转载 解决IDEA自动重置LanguageLevel和JavaCompiler版本的问题

使用IDEA时,导入的Maven项目默认的LanguageLevel和JavaCompiler都是1.5,1.5的情况下连最简单的@Override注解都不支持,所以项目可能出现一堆错。虽然在项目上F4可以修改LanguageLevel,在settings中可以修改JavaCompiler版本,但是一旦Maven项目有变化,发生自动的update时,这里做的修改就都白费了。IDEA会重置这

2017-04-19 10:47:14 810

原创 js字符串转json数组对象

又浪费了一上午的时间找这个,这一次一定要记下来。我需要的是一个json数组:[{label:"2017",value:"2017"},{label:"2016",value:"2016"},{label:"2015",value:"2015"}]然后我用字符串拼接出了一个这个样的数组:var str = '[{label:"2017",value:"2017"},{label:"2

2017-03-23 11:20:04 4562

转载 数据库调优笔记

数据库性能优化的基本原则就是通过尽可能少的磁盘访问获得所需要的数据。一、建立索引   1.在经常要查询的列或者做where条件的列上建立索引可以避免扫描整个表。2.当一列的值都不同时,也就是当“这一列不重复的值得数量/这一列的行数“的值”越接近1就越适合在这一列上建立索引,例如姓名、id每一行的值基本都不同,又例如性别只有两种结果每一行基本相同,所以适合在id、姓名的列上索引,不适合在

2017-02-16 17:20:05 348

转载 jQuery easyUI 用layout 自适应浏览器大小

当我们用jQuery easyui layout 进行布局的时候,可能会遇到这样一个问题,那就是当手工调整浏览器大小,或者最大化、还原窗口的时候,layout的某个区域不能填充因为浏览器扩大而产生的空白区域,这时候看起来就比较别扭了。当然了,如果你的layout是直接放在body标签上的,且没有嵌套的layout的话,是不会出现layout不能自适应大小的情况的。

2016-01-12 16:39:06 1053

Think in java

本书赢得了全球程序员的广泛赞誉,即使是最晦涩的概念,在Bruce Eckel的文字亲和力和小而直接的编程示例面前也会化解于无形。从Java的基础语法到最高级特性(深入的面向对象概念、多线程、自动项目构建、单元测试和调试等),本书都能逐步指导你轻松掌握。

2014-07-01

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除