Java
文章平均质量分 91
Gwen小苏
作为一只大四的狗狗,现在才开始努力,真的太差劲。刚刚开学,做了班长,在学java,打算在累的时候可以找个地方把心里的事情写下,算是一种仪式吧,共勉~
展开
-
Java编码安全规范
简述:入职菊厂第一周,没什么任务,正全力准备java安全编码考试,跟阿里规范类似,不过要多很多安全攻防的内容和一些之前没注意的知识点,所以记录分享自己学到的经验断言滥用断言应该只存在于测试类,而不应该出现在业务代码之中。因为断言是可以被关掉的!!也就是如果你业务代码里用到断言去校验一个参数的状态,断言如果被关掉,你这段代码就是跳过执行成为漏洞。Java断言的开启关闭和初步使用_jjj03230304的博客-CSDN博客_java 禁用断言1 说明 java断言assert是jdk1.4引入的。原创 2022-01-16 23:14:20 · 6389 阅读 · 0 评论 -
Mockito超全用例文档
这里写自定义目录标题一.mockito要注意的点1. mock的对象直接调用其方法会返回null2.执行真实的被测试方法3.verify测试是否被调用4.激活mock功能的几种方式二.mock对象的方式1.spy2.深度mock三.stup打桩1.doReturn.when:不会走函数方法2.when.thenReturn:调用真实的方法3.其他四、Mockito argument Matchers 参数匹配器1.anyXX2.isA和any五.常见错误1.使用any常见错误,部分传入真实对象,部分传入an原创 2021-09-09 20:15:55 · 12095 阅读 · 0 评论 -
项目依赖有问题,无法注入文件(全网最全方法)
文档:项目依赖有问题,无法注入文件.note链接:http://note.youdao.com/noteshare?id=1db6944e9760dd5c1d166776c1c29fd1&sub=D0731E9F046F4E8ABA7ED04795C56A54原创 2020-11-17 12:00:26 · 279 阅读 · 0 评论 -
Java8 DateTime的api使用
/** * @Title testMapUtil * @Description:测试DateTime的Api * @date: 2019-10-16 10:31 * @return:void */ public static void main(String[] args) { test(); } /**...原创 2019-10-16 11:42:22 · 272 阅读 · 0 评论 -
监控多线程案例
1. 一天,程序员小灰失恋喝醉酒,写了一段死循环,然后若无其事地跑去睡觉了public class Main { public static void main(String[] args) { Thread t1 = new Thread(new Runnable() { @Override public void r...原创 2019-01-04 11:51:27 · 185 阅读 · 0 评论 -
cron表达式详解
Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式:(1) Seconds Minutes Hours DayofMonth Month DayofWeek Year(2)Seconds Minutes Hours DayofMonth Month DayofWeek一、结构corn从左到右(用空格隔开):秒 分 小时 ...转载 2019-01-10 17:00:24 · 175 阅读 · 0 评论 -
JAVA方法中的参数用final来修饰的效果
很多人都说在JAVA中用final来修饰方法参数的原因是防止方法参数在调用时被篡改,其实也就是这个原因,但理解起来可能会有歧义,我们需要注意的是,在final修饰的方法参数中,如果修饰的是基本类型,那么在这个方法的内部,基本类型的值是不能够改变的,但是如果修饰的是引用类型的变量,那么就需要注意了,引用类型变量所指的引用是不能够改变的,但是引用类型变量的值是可以改变的。 如下面的代码: ...转载 2019-01-18 11:11:58 · 213 阅读 · 0 评论 -
ApplicationContextAware接口的作用
https://blog.csdn.net/bailinbbc/article/details/76446594#commentsedit转载 2019-01-13 21:38:23 · 127 阅读 · 0 评论 -
JAVA Clone
Java中clone()与new的区别?https://blog.csdn.net/qq_36544360/article/details/80878100Java的clone机制(及String的特殊性)https://www.cnblogs.com/mywy/p/5083095.html转载 2019-01-14 17:07:18 · 92 阅读 · 0 评论 -
IDEA下mybatis逆向工程工具和坑点
mybatis逆向工程:使用mybatis generator插件,将数据库表自动生成Bean,mapper,dao文件,帮你剩下大把时光,但其中有很多坑点,这里也记录下来。1. 首先在pom.xml文件下加插件的配置<build> <plugins> <!-- mybatis逆向工程插件 --> <plugin> <g...原创 2018-12-18 15:04:57 · 1245 阅读 · 0 评论 -
Java一个案例学会使用Java VisualVM
今天自己写了个死锁,打算用Visual IVM分析一下,上网找教程,全部都是教你怎么安装和简单介绍,而我,是看不懂里面写的火星文才百度的啊,所以,只能自己捣鼓了,最后我发现了一丝蛛丝马迹,有助于分析死锁!!!测试代码,不看代码可以看注释/** * 下面写了一个死锁 * 1. thread1锁了A对象,休眠; * 2. thread2锁了B对象等待A对象; * 3. thread...原创 2018-12-21 18:00:46 · 3229 阅读 · 0 评论 -
Java 枚举(enum) 详解7种常见的用法
JDK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便。大师兄我又加上自己的理解,来帮助各位理解一下。用法一:常量在JDK1.5 之前,我们定义常量都是: public static final.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。 Java代码 public enum...转载 2018-12-04 10:06:27 · 127 阅读 · 0 评论 -
JVM面试--full gc太过频繁该如何处理
监控工具:jvisualVM、VisaulVM、jprofilerJVM优化书籍:《Java性能优化权威指南》、《深入理解java虚拟机》1.年轻代空间不足2.per Gen(永久代)空间满3.CMS GC时出现promotion failed和concurrent mode failure4.统计得到的Minor GC晋升到旧生代的平均大小大于旧生代的剩余空间等 结论:F...原创 2018-09-29 19:33:12 · 7317 阅读 · 0 评论 -
String+clone
https://blog.csdn.net/justloveyou_/article/details/60983034摘要: Java 中的 String类 是我们日常开发中使用最为频繁的一个类,但要想真正掌握的这个类却不是一件容易的事情。笔者为了还原String类的真实全貌,先分为上、下两篇博文来综述Java中的String类。笔者从Java内存模型展开,结合 JDK 中 String...转载 2018-09-11 09:26:24 · 1586 阅读 · 0 评论 -
如何正确的重写equals() 和 hashCode()方法(链接)
链接:https://blog.csdn.net/zzg1229059735/article/details/51498310转载 2018-09-13 15:59:20 · 117 阅读 · 0 评论 -
linkedlist和stack异同
1.add和push比较 /** * linkedlist vs stack */ public static void test3() { //add测试 //结论:add测试一样 LinkedList<Integer> linkedList = new LinkedList<>(); Stack<Integer> stack ...原创 2018-09-07 16:44:56 · 3784 阅读 · 0 评论 -
MYSQL面试刷题
1.区分范式1NF: 原子性,属性不能再分2NF:不存在部分函数依赖,如(A, B, C, D),(A,B)为候选键,不能由候选关键字的一部分决定非关键字,如B->C3NF:不存在传递函数依赖,如A->B->CBCNF:进一步消除主属性的传递依赖(A, B, C, D), 候选键有(A,B)和(B,C),所以主属性为A,B,C,不存在(A,B)->C, C-...原创 2018-09-15 18:29:11 · 1783 阅读 · 0 评论 -
System.arraycopy一句话搞懂
一句话:把src从第srcPos开始取length个,插入到dest的destPos位置后public static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length);案例:public void test(){ int[] arr1 = {...原创 2019-01-19 20:16:43 · 233 阅读 · 0 评论 -
Log4J三大组件:Logger+Appender+Layout 格式化编程详解
原文链接:https://www.cnblogs.com/dengyungao/p/7524902.htmlLog4J的三个组件:Logger:日志记录器,负责收集处理日志记录 (如何处理日志)Appender:日志输出目的地,负责日志的输出 (输出到什么 地方)Layout:日志格式化,负责对输出的日志格式化(以什么形式展现)类结构图(来自http://www.blogj...转载 2019-01-19 22:14:40 · 1998 阅读 · 0 评论 -
面试官:请你谈谈Java的类加载过程
刚刚走出校门的应届毕业生,如果在去寻求一份Java开发的工作时,你的面试官很有可能一边看着你的简历,一边漫不经心地问你:了解过Java类的加载过程吗?这个时候你一定要注意了,虽然这是一个老生常谈的问题,但是这也是一个非常能够考验你Java功底的问题。如果你答好了,这是你应该的;如果你没答好,那么对不起,面试官心中已经给了你不及格。今天,小编就Java类加载过程这个问题,抛砖引玉,说一下...转载 2019-01-22 21:08:38 · 135 阅读 · 0 评论 -
上传文件
1.添加控件2.添加enctype3.加注解@MultipartConfig4.getPart获得文件5.储存在指定位置2.储存文件用相对路径①储存在本地②在Tomcat上4.①动态获取绝对路径保存在服务器(下面两图原理一样)②把绝对路径保存在dataSource,...原创 2019-09-09 16:32:11 · 138 阅读 · 0 评论 -
生产问题在测试环境因数据库数据不同无法复现
生产问题在测试环境因数据库数据不同无法复现(无法debug分析,环境不同数据不同,相同请求走的逻辑不同),我的解决方法是首先查看生产环境报错,通过报错信息,定位错误代码大概的位置 分析列举可能造成错误的代码并写上注释,如果代码复杂,可以进行重构 生产环境复现,并记录请求参数 通过请求参数+生产环境的数据库,得到报错来源附近代码表达式的值,看看那些值不符合预期,再继续找造成不符合预期的原因...原创 2019-08-08 17:50:43 · 1018 阅读 · 0 评论 -
从零开始看项目
使用git拉取项目 maven配置依赖 tomcat把项目跑起来 在controller寻找项目的入口,请注意springmvc配置文件(可能配置了拦截的url或index页面) 进入index页面,找到你需要研究/开发的功能按钮,打开f12开发者模式 开发者模式 -> network -> 点击xhr(异步请求) 然后点...原创 2019-07-27 08:44:41 · 172 阅读 · 0 评论 -
dfs、bfs、动态规划、二分、递归的模板汇总
dfs:/** 用栈保存节点,用于回溯 */static LinkedList<Integer> visited = new LinkedList<>(); public static void dfs(TreeNode node){ visited.addLast(node.val); // process current ...原创 2019-03-08 09:53:06 · 279 阅读 · 0 评论 -
教你递归和非递归的通用代码模板
相信很多人都看过盗梦空间,盗梦空间本质上就是从第一层,进入到第二层,进入到第N层,然后又从第N层,返回第N-1层,最后返回到第1层,然后醒来,这其中蕴含了一种栈的思想,后进先出,而递归,本质上,就是栈的思想。盗梦空间的递归有四步:1. 开头写递归终止条件 -- 当我进入第5层梦境后,我就要赶紧逃离2. 然后写当前层的逻辑 -- (你在这一层梦境,你要做什么)3. 进入下一层 -- ...原创 2019-03-07 09:05:37 · 532 阅读 · 0 评论 -
ScheduledExecutorService定时周期执行指定的任务
https://blog.csdn.net/tsyj810883979/article/details/8481621/转载 2019-03-06 10:57:01 · 188 阅读 · 0 评论 -
轻松了解Spring中的控制反转和依赖注入(一)
https://www.cnblogs.com/xxzhuang/p/5948902.html转载 2019-02-27 08:52:23 · 156 阅读 · 0 评论 -
Java中线程池的实现原理
https://www.cnblogs.com/zhaojinxin/p/6668247.htmlJava中线程池的实现原理-求职必备jdk1.5引入Executor线程池框架,通过它把任务的提交和执行进行解耦,只需要定义好任务,然后提交给线程池,而不用关心该任务是如何执行、被哪个线程执行,以及什么时候执行。初始化线程池(4种)简介:Java线程池的工厂类:Executors类...转载 2019-03-06 09:55:41 · 181 阅读 · 0 评论 -
简单例子读懂JVM报告
1.首先,了解下什么是JVM报告?2. 然后,看看如何设置控制台打印JVM报告?复制-verbose:gc -XX:+PrintGCDetails到run configuration的VM options3.接着,那这个报告里面到底有什么有价值的信息呢?- 用了哪个垃圾回收器- 新生代大小 - eden区大小和使用情况 - to survivor区大小和...原创 2019-02-20 20:51:12 · 213 阅读 · 0 评论 -
Spring——原理解析-利用反射和注解模拟IoC的自动装配
https://www.cnblogs.com/weilu2/p/spring_ioc_analysis_principle_bsici_on_reflection_annotation.html转载 2019-02-26 10:09:38 · 233 阅读 · 0 评论 -
Java并发编程:并发容器之ConcurrentHashMap(转载)
转载:https://www.cnblogs.com/dolphin0520/p/3932905.html转载 2019-02-25 16:41:08 · 155 阅读 · 0 评论 -
Mybatis 中$与#的区别
https://www.cnblogs.com/hellokitty1/p/6007801.html转载 2019-02-28 12:30:45 · 113 阅读 · 0 评论 -
什么是单点登录?单点登录的三种实现方式
单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任。单点登录在大型网站里使用得非常频繁,例如像阿里巴巴这样的网站,在网站的背后是成百上千的子系统,用户一次操作或交易可能涉及到几十个子系统的协作,如果每个子系统都需要用户认证,不仅用户会疯掉,各子系统也会为这种重复认证授权的逻辑搞...转载 2019-02-23 22:39:52 · 304 阅读 · 0 评论 -
深入理解java虚拟机知识汇总
本文基于周志明写的《深入理解java虚拟机》,汇聚书本知识点和常见面试题 电子版链接:https://pan.baidu.com/s/1BnVE5yeI60jbR-wxLDGgZw第一部分:走进Java第一章 走进Java1.讲了什么2.精华笔记第二部分:自动内存管理机制第二章 Java内存区域与内存溢出异常1.讲了什么2.精华笔记3.疑问第三章 垃圾收集...原创 2018-08-06 17:29:51 · 2707 阅读 · 3 评论 -
第一课hello world的启发
①配置环境变量时,path本来就存在,所以添加路径要先加分号“;”②chapter包,需要根据左边目录命名③public class 类需要跟文件名一致(不要把扩展名也输进去了)④小程序不需要主函数也可以运行⑤print直接输出不换行,println直接输出换行,printf格式化输出参照Java API的定义如下:'d' 整数结果被格式化为十进制整数'o' 整数结果被格式化...原创 2017-03-26 00:32:43 · 233 阅读 · 0 评论 -
java继承的小知识点
1.继承1.1初始化子类时,系统默认把父类也初始化例子:当A继承B之后,初始化A时,B也会默认被初始化。因为系统会默认在A的构造函数第一条语句加上super();1.2父类方法被子类方法覆盖后,如何在子类调用父类的方法呢?例子:super.method()...原创 2017-09-10 10:46:43 · 231 阅读 · 0 评论 -
(转载网址)java环境变量
https://jingyan.baidu.com/article/fd8044fa2c22f15031137a2a.html转载 2018-05-12 17:49:44 · 114 阅读 · 0 评论 -
(SSM项目)开发CRUD后台管理系统02
Mysql建表1.两张表2.generator生成bean,mapper,interface生成后3.前段页面的编写<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%><%@taglib uri="http://java....原创 2018-05-16 15:00:13 · 361 阅读 · 0 评论 -
(转载)(项目报错)The type javax.servlet.http.HttpServletRequest cannot be resolved.
是缺少serverlet的引用库,解决如下1.工程右键-properties->java build path2.在java build path的libraries tab页中选择Add external Jars...按钮3. 选择eclipse的安装目录,我的是绿色版本,我本机的路径如下,你自己需要根据自己的路径查找添加。E:\eclipse-java-indigo-SR1-w...原创 2018-05-17 10:35:00 · 346 阅读 · 0 评论 -
Spring笔记例子
1.Junit例子import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner...原创 2018-05-19 11:15:00 · 121 阅读 · 0 评论