随笔分类 - 【Java进阶】
摘要:什么是死锁 在使用多线程以及多进程时,两个或两个以上的运算单元(进程、线程或协程),各自占有一些共享资源,并且互相等待其他线程占有的资源才能进行,而导致两个或者多个线程都在等待对方释放资源,就称为死锁 下面看个简单的例子: public class DeadLockTest { public sta
阅读全文
摘要:Springboot中使用JdbcTemplate的queryForObject方法,当查不到数据时会抛出如下异常: org.springframework.dao.EmptyResultDataAccessException: Incorrect result size: expected 1,
阅读全文
摘要:小程序上线后会接到这种警告 ImageUtil代码 import lombok.extern.slf4j.Slf4j; import javax.imageio.ImageIO; import javax.swing.*; import java.awt.*; import java.awt.geo
阅读全文
摘要:目录单例模式7种实现及利弊分析1.饿汉式2.懒汉式(非线程安全)3.懒汉式(synchronized)4.懒汉式(静态内部类)5.懒汉式(双重锁DCL)6.懒汉式(ThreadLocal)7.枚举类型(建议使用) 单例模式7种实现及利弊分析 单例模式三要素 私有的构造方法; 指向自己实例的私有静态引
阅读全文
摘要:工具类1 /** * Created by Administrator on 2016/2/25. */ public class IdCard { /** 中国公民身份证号码最小长度。 */ public final int CHINA_ID_MIN_LENGTH = 15; /** 中国公民身份
阅读全文
摘要:总结: 注解@JsonFormat主要是后台到前台的时间格式的转换 注解@DataFormAT主要是前后到后台的时间格式的转换 @JSONField 是解决 UserDto dto = JSONObject.parseObject(strJson, UserDto.class); 解决从Json里面
阅读全文
摘要:import java.util.ArrayList; import java.util.List; public class GeometryUtil { /** * 获取点与直线之间的距离 * @param p 点 * @param a 直线上一点 * @param b 直线上一点 * @ret
阅读全文
摘要:引射线法:从目标点出发引一条射线,看这条射线和多边形所有边的交点数射线法时间复杂度:O(n) 适用范围:任意多边形个人认为是非常不错的算法(不需考虑精度误差和多边形点给出的顺序),可以作为第一选择。 算法思想:以被测点Q为端点,向任意方向作射线(一般水平向右作射线),统计该射线与多边形的交点数。如果
阅读全文
摘要:在项目开发过程中经常遇到时间处理,但是你真的用对了吗,理解阿里巴巴开发手册中禁用static修饰SimpleDateFormat吗 通过阅读本篇文章你将了解到: 为什么需要LocalDate、LocalTime、LocalDateTime【java8新提供的类】 java8新的时间API的使用方式,
阅读全文
摘要:1则代表的是对年份操作,2是对月份操作,3是对星期操作,5是对日期操作,11是对小时操作,12是对分钟操作,13是对秒操作,14是对毫秒操作。 public static Date addYears(Date date, int amount) { return add(date, 1, amoun
阅读全文
摘要:Arthas是什么鬼? Arthas是一款阿里巴巴开源的 Java 线上诊断工具,功能非常强大,可以解决很多线上不方便解决的问题。 Arthas诊断使用的是命令行交互模式,支持JDK6+,Linux、Mac、Windows 操作系统,命令还支持使用 tab 键对各种信息的自动补全,诊断起来非常利索。
阅读全文
摘要:生产服务器上部署了几个java程序,突然出现了CPU100%的异常告警,你如何定位出问题呢? 下面给出两种系统环节下的排查步骤,都是一模一样的,只是命令稍有区别! 查消耗cpu最高的进程Pid 根据Pid查出消耗cpu最高的线程号 根据线程号查出对应的java线程,进行处理。 准备一行死循环代码 怎
阅读全文
摘要:单值去重不写了,记录对象去重 随手一个对象: 操作: 操作底层是set,视图,collection...一堆东西,还是有点意思的,不记录了,有兴趣可深入 任何Object类型去重...~
阅读全文
摘要:jdk1.8 从语法角度,感觉发生的变化还是蛮大的。在此记录一下。 for 循环
阅读全文
摘要:Lombok是一种Java实用工具,可以帮助开发人员消除Java的冗长,具体看lombok的官网:http://projectlombok.org/ 安装步骤: 1.下载lombok.jar包 2.将lombok.jar包复制到myeclipse.ini/eclipse.ini所在文件目录 3.打开
阅读全文
摘要:最近项目中 List<String> bikeList = Arrays.asList(bikeuuids);报错 而且console里面没有特别有用的 bikeList.add("1"); bikeList.add("2"); bikeList.add("3"); 走到第二个的时候 就走异常了,考
阅读全文
摘要:1. DataSource / ConnectionPool / JNDI 三者关系 2. 配置 JNDI 数据源的方式和使用 3. 小结 最近有个用户量 5W-10W 的 web 应用,频繁导致 weblogic 崩溃,让运维组很难受。 通过几天跟踪系统日志和 weblogic 运行状况,发现报错
阅读全文
摘要:前面已经学习完了List部分的源码,主要是ArrayList和LinkedList两部分内容,这一节主要总结下List部分的内容。 List概括 先来回顾一下List在Collection中的的框架图: 从图中我们可以看出: 1. List是一个接口,它继承与Collection接口,代表有序的队列
阅读全文
摘要:最近忙着替公司招人好久没写了,荒废了不好意思。 上一章学习了Collection的架构,并阅读了部分源码,这一章开始,我们将对Collection的具体实现进行详细学习。首先学习List。而ArrayList又是List中最为常用的,因此本章先学习ArrayList。先对ArrayList有个整体的
阅读全文
摘要:Collection是一个接口,它主要的两个分支是List和Set。如下图所示: List和Set都是接口,它们继承与Collection。List是有序的队列,可以用重复的元素;而Set是数学概念中的集合,不能有重复的元素。List和Set都有它们各自的实现类。 为了方便,我们抽象出Abstrac
阅读全文