- 博客(23)
- 收藏
- 关注
原创 破坏单例模式
单例模式是 Java 中最简单的一种设计模式,也是最常用,最为人们所津津乐道的一种设计模式。单例模式的实现需要关注性能和安全问题,如用之不慎,就可能会对软件带来许多隐患。
2022-07-25 08:35:12
157
原创 JSON字符串格式化输出到文件
因业务需要,现要把后台的Json字符串转换为文件,且格式要有层次感,且便于阅读。网上有些方案是根据符号来进行缩进换行,奈何本人推崇简洁(懒)。后在此篇https://www.cnblogs.com/liujiale/p/10937574.html,寻得灵感,效果不错,特此分享。...
2020-09-15 18:15:05
1382
原创 Java8 Stream知识整理
基于Java8 Lambda表达式,Stream可以便捷高效的对集合对象进行转换,筛选,排序,聚合等操作,极大的提高编程效率和程序可读性。同时它提供串行和并行两种模式进行汇聚操作,并发模式能够充分利用多核处理器的优势。流的操作类型分为两种:中间操作(Intermediate Operations):一个流可以后面跟随零个或多个 intermediate 操作。其目的主要是打开流,做出某种程度的数据映射/过滤,然后返回一个新的流,交给下一个操作使用。这类操作都是惰性化的(lazy),多个Interme
2020-09-01 14:46:24
389
原创 Oracle中根据字段进行判断
1、NVL(a, b):若a为null或’’,则返回b的值,a有值则返回a的值例:select nvl(null, ‘无值哦╮(╯▽╰)╭’) from dual; --无值哦╮(╯▽╰)╭select nvl(’’, ‘无值哦╮(╯▽╰)╭’) from dual; --无值哦╮(╯▽╰)╭select nvl(‘有值’, ‘无值哦╮(╯▽╰)╭’) from dual; --有值2、NVL2(a, b, c): 若a为null或’’,则返回c的值,a有值则返回b的值例:select nvl
2020-06-16 16:54:44
3166
原创 我的第一家公司(二)
周一开始正式上班。去的时候因为自行车被人骑完了,公交挤不上去,走路又走错了。因此耽误了一些时间,但万幸起的早,预留的时间多,所以没有迟到。 到公司时,人已经来齐。经理到了之后,开始了公司的传统:有新员工进来时,大家都会开个早会,介绍自己叫什么,什么职位。相互介绍一圈后,我了解到后台算上我三个人,前端算上新来的一个也是三个人,俩测试,一个C#,一个美工小姐姐。然后他们开始总结上周任务情况,这周计划什么的。我也就没听了。 散会后,我就去搞我的环境了。 装电脑环境期间来了个挺有意思的电话。当时我正
2020-05-24 22:00:56
164
原创 STS中Boot DashBoard隐藏不用的项目
STS的Boot Dashboard,可以让我们很清晰的看到所有的服务,也很方便我们对服务进行管理。但有时候,我们只需要用到其中的几个服务,剩下不需要的服务就会显得冗余。这么多服务放在这,头好痛啊!!怎样才能把那些多余的服务隐藏掉呢?STS的Exclude Projects可以帮你过滤掉不想在Boot Dashboard显示的服务。windows > preferences> spring> boot只要在Exclude Project中填上你不想显示的服务名,服务名之间用
2020-05-13 14:31:23
1571
原创 Javap的使用
Javap简介javap可以用来查看java编译器生成的字节码。通过它,我们可以深入的了解java代码的工作机制。它是JDK自带的反汇编器,你可以在jdk的bin中你可以找到它。在你正确配置了java环境后,就可以在命令窗口使用javap。列如:Javap使用javap使用的格式:javap <options> <classes><options>命令...
2020-04-11 18:40:16
733
原创 IDEA中的Live Templates
IDEA的Live Templates可以帮你快速的完成固定模式的代码,提高代码效率。我们平时常用的psvm,sout等快捷键就是其中的模板接下来我们创建实时模板,步骤如下:1.我选择在user下,添加一个实时模板。2.缩写名:类似于快捷键,可以快速创建你的模板内容。模板内容:你要构建的代码。其中$$之间的NAME表示变量。3.使用时,打出listTest,就会快速构建出你要的...
2020-04-01 12:25:22
815
原创 类加载机制习题小练
题一public class Father{ static { System.out.println("Father静态代码块"); } { System.out.println("Father普通代码块"); } public Father() { System.out.println("father 的构造函数"); }}class Son ex...
2020-03-27 13:19:38
178
原创 Java类加载机制知识整理
在面试中常会看到关于Java类加载机制的题目,今天特地整理了下加载机制的资料。 所谓的类加载机制就是JVM使用类加载器将编译生成的Class文件动态加载到JVM的内存空间中,最终形成可以被JVM使用的Java类型。JVM执行class字节码的过程可以分为:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Init...
2020-03-27 11:13:27
160
原创 我的第一家公司(一)
在我入职第一家实习公司前,我已经海投了近三周的简历,转战于沪苏宁三地,但手头依然毫无收获。面试的十几家,要么外包公司,要么是招运维人员,要么是我觉得薪资较低。当时的想法就是只找开发岗,不进外包,薪资不能低于3.5k。现在觉得前两个观点的方向没什么问题,而薪资这块其实也没那么重要,毕竟实习期主要是完成从学校到社会的过渡,并且实习生的产出大家也都了解。之所以会有这种心态一方面是因为年轻,认不清自己...
2020-03-27 10:44:20
233
原创 Java代码优化提炼
为很么要优化代码?因为可供程序利用的资源(内存、CPU时间、网络带宽等)是有限的,我们要在保证变换前后代码执行结果相同的前提下,尽量使目标程序运行时所需要的时间短,同时所占用的存储空间少,让程序变的高效,快速,优雅,易维护。同时代码优化方式也是我们写作风格的体现。1、类名、方法名、变量名等要有含义糟糕的名字让人难以阅读,无疑这会浪费别人的时间,增加代码维护成本。反例:public void...
2020-03-26 22:56:49
156
原创 Java中的魔法值概念
想象一下,当你入职一家新公司,打开工具看以前同事的项目时,突然看到下面这段代码String[] catNames = new String[7];String[] dogNames = new String[7];for(int i = 0; i < 7; i++) { //此处省略若干行}你心中一定很凌乱,可能还会在心底默默问候下写这段代码的前同事。在没有注释的情况下,此处...
2020-03-19 14:40:47
1545
原创 关键字static简述
static: 可以修饰变量,方法,静态块,静态内部类,静态导包。静态变量:类变量,即该变量属于类本身,所有实例对象共享,可通过 类.变量 的方式直接获取,无需创建实例对象。静态方法:该方法属于类本身,也不需要实例对象就可获取,所有实例对象共享。静态代码块:属于类本身,类加载时初始。静态内部类:static修饰类只有静态内部类这种情况,静态导包:这个是JDK1.5之后的新特性,impor...
2020-03-18 09:31:41
166
原创 isEmpty和isBlank的比较
在对字符串判空时,我们会用到org.apache.commons.lang3.StringUtils中的isEmpty或isBlank,isEmpty和isBlank都是用来检查字符串是否包含文本(checks if a String contains text)。现在我们来了解下这两个方法的区别。isEmptypublic static boolean isEmpty(final Char...
2020-03-09 11:09:27
247
原创 Centos7启动mysql报Can 't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock '(111)
环境:虚拟机,Centos7报错:Can 't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock '(111)错误原因:上次开机弄mysql的主从复制时,修改了my.cnf文件,不小心改错了某个地方,解决方法:查看mysql的日志 vi /var/log/mysqld.log在日志中看到了报错信...
2019-05-16 00:12:20
3241
原创 根据优先级查询先满足条件的结果
场景:student表中,我想按照班级、年龄、身高、分数的顺序优先查询先满足条件的结果。如给出一组数据: class_id=4, age=12, sex=150, score=100,则根据上面的优先顺序,先匹配班级,接着是年龄,身高和分数,因为班级中能匹配到张无忌这个学生,所以,最后返回张无忌这个学生的信息。select s.*, 1 sort_num from student s wh...
2019-02-15 14:42:09
1153
原创 js中的join()方法
优化项目时的一个地方用到的join(),可以看到,原本需要自己用for循环,并且各数据因为是用逗号间隔开的,所以取的时候还需要考虑最后一位的逗号,用join()后只要一行就可以解决。看来js中的一些方法以后要多翻一翻了。...
2019-02-13 15:32:32
1917
原创 group by 'xx', group by 的一个小技巧
文件:mybatis的xml文件。简介:上图中的statisticsType是一个类似于"busSys,areaId"," xx is not null" 这样的string类型变量,statisticsType.contains(‘busSys’)则判断statisticsType中是否有busSys。目的:我的目的是根据statisticsType中的值进行分组。group by 后...
2019-01-07 18:38:34
351
原创 ssm整合redis报Could not get a resource from the pool,ERR Client sent AUTH, but no password is set
周末在家整合ssm和redis,运行时,报了客户端发送了验证,而Redis服务器没有设置密码。修改了redis.properties中的password也没解决。解决方法:1、我的是Win7的,启动时,运行的是redis目录下的redis.windows.conf。这个文件中的Requirepass默认是注释掉的,即无密码,只要设置下密码就好。 修改后,重启下redis服务就好。2...
2018-10-14 23:12:59
845
原创 java.exe占用cpu达100
最近一直有一个困扰我的问题,就是电脑开启一段时间后,java.exe会占用cpu到90+以上,cpu直接100,简直没的玩。我的是win7的,度娘上有一种可能是程序写的有误,解决方法是在命令提示符窗口用jstack导出线程信息到文件(如:jstack -F 5684 >c : /jlog.log,5684是进程的pid,c : /jlog.log为信息导出的文件路径),再通过Process...
2018-10-12 16:12:40
3019
原创 启动项目时报The content of elements must consist of well-formed character data or markup错误的解决方法。
启动项目时报The content of elements must consist of well-formed character data or markup错误的解决方法。今天工作时,在xml中写了一个简单的查询后,启动项目时突然报Failed to parse mapping resource:‘file[D:\tomcat\webapps\hongli\WEB-INF\classes...
2018-10-09 11:56:49
1550
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人