JAVA
文章平均质量分 75
Asparrow
宜未雨而筹谋,勿临渴而掘井
展开
-
使用wait和notify实现非阻塞生产消费者模型
使用wait和notify实现非阻塞生产消费者模型原创 2023-01-23 12:27:05 · 1297 阅读 · 0 评论 -
使用jProfiler远程监控线上Linux环境JVM
jProfiler下载安装官网地址: 下载地址将windows版本的和Linux版本的都下载下来我使用的版本是11.0.2注意: linux和windows版本必须保持一致安装windows安装普通安装即可linux安装将下载的 jprofiler_linux_11_0_2.rpm 上传到linux服务器运行命令: rpm -ivh jprofiler_linux_11_0_2.rpm线上tomcat设置在tomcat的bin目录下在catalina.sh中加入以下代码C原创 2020-12-15 15:17:37 · 505 阅读 · 1 评论 -
JAVA获取线上堆栈信息
问题描述服务部署到线上以后隔一段时间就无法访问了,后台日志提示:java.lang.OutOfMemoryError: GC overhead limit exceeded,初步判断为内存泄露;下一步就是获取堆栈信息进行分析;使用kill -3 PID 获取堆栈信息获取进程的PID ps -ef|grep java获取堆栈信息 kill -3 PID获取文件1> 如果项目通过Tomcat进行发布(普通的web项目),则对应的堆栈信息会打印在catalina.out文件中。2>原创 2020-12-11 17:08:55 · 595 阅读 · 0 评论 -
JAVA 中级开发面试题 2~3年
JAVA 中级开发面试题 (2年经验)基础部分String,StringBuffer,StringBudilder 的区别1.String 是个不可改变的常量,是线程安全的适合操作少量数据;2.StringBuffer 可变的变量,线程安全;3.StringBudilder 可变的变量,线程不安全,性能比StringBuffer 强;hashtable和hashmap的区别是什么hashtable: 线程安全,不允许有null的键和值;hashmap: 线程不安全,允许有nu原创 2020-11-21 11:58:27 · 802 阅读 · 2 评论 -
JPA hibernate 复杂查询方式汇总 多表联查
以前写项目都是用mybatis,最近换了项目需要使用hibernate.从mybatis切换到hibernate需要攻克一些技术点,攻克之后写代码就得心应手多了.hibernate 常用查询方式ExampleMatcher 只能单表查询Specification 支持连表查询querydsl 支持连表查询并且上手简单ExampleMatcher模糊查询精确查询不支持多表查询java代码 @Test void test1() { SysUser sy原创 2020-07-26 16:26:10 · 967 阅读 · 0 评论 -
java8 新特性stream流在开发中的常用方法
Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。这种风格将要处理的元素集合看作一种流, 流在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选, 排序,聚合等。java8 stream 在开发中的常用方法先创建一个list集合初始化一.原创 2020-07-26 13:30:31 · 411 阅读 · 1 评论