随笔分类 -  Java开发

摘要:一、吐槽模式 项目开发周期短,迭代速度快,时间久了之后,代码中可能会充斥着大量的if/else,一层一层的嵌套,让人短时间内不可能领悟该段代码的逻辑,久而久之,后面接手的人可能真的会口吐莲花! //就像这样,一步一步变成金字塔 if (condition1) { action1(); if (con 阅读全文
posted @ 2021-02-08 16:27 jstarseven 阅读(352) 评论(0) 推荐(0)
摘要:一、Java9 发布于 2017 年 9 月 21 日 。作为 Java8 之后 3 年半才发布的新版本,Java 9 带 来了很多重大的变化其中最重要的改动是 Java 平台模块系统的引入,其他还有诸如集合、Stream 流等。 ###Java 平台模块系统 Java 平台模块系统,也就是 Pro 阅读全文
posted @ 2021-02-07 13:19 jstarseven 阅读(699) 评论(0) 推荐(1)
摘要:一、情景复现 昨天,公司一个同事,急急忙忙的跑过来找我,说他的项目,出现了一个非常诡异的BUG,不知道什么情况? 同事:我用五个线程计算学生各个科目的成绩,最后汇总,本地都是正常的,但是一到测试环境就少了一科成绩,也没抛出异常,什么鬼? 油七:任务线程怎么做的?线程异常处理了吗?为啥不打印日志呢?灵 阅读全文
posted @ 2021-02-04 11:58 jstarseven 阅读(1487) 评论(0) 推荐(4)
摘要:一、前言 【闲话开篇】:这段时间项目接近尾声,我终于闲了一点,又拿起了早先未看完的书《JAVA高并发程序设计》。看到其中介绍《无锁的缓存框架:Disruptor》时,接触到了一个概念——伪共享(false sharing),说是会影响并发程序的执行性能,被很多人描述成无声的性能杀手,突然感觉到了自己 阅读全文
posted @ 2021-01-29 15:51 jstarseven 阅读(960) 评论(1) 推荐(1)
摘要:原文出处:http://www.yund.tech/zdetail.html?type=1&id=ee06002e2b83e7677c30aedc52d3429e 作者:jstarseven 现在的网站千奇百怪,什么样格式的都有,需要提取网页中的列表数据,有时候挨个分析处理很头疼,本文是一个页面结构 阅读全文
posted @ 2018-08-19 14:38 jstarseven 阅读(2369) 评论(0) 推荐(0)
摘要:原文出处:http://www.yund.tech/zdetail.html?type=1&id=0de81780ff8febe3ec05dc36f92fd478 作者:jstarseven JVM监控工具 Java的安装包自带了很多优秀的工具,善用这些工具对于监控和调试Java程序非常有帮助。常用 阅读全文
posted @ 2018-08-08 14:13 jstarseven 阅读(1583) 评论(0) 推荐(0)
摘要:前言 不管是在面试还是实际开发中 volatile 都是一个应该掌握的技能。 首先来看看为什么会出现这个关键字。 内存可见性 由于 Java 内存模型(JMM)规定,所有的变量都存放在主内存中,而每个线程都有着自己的工作内存(高速缓存)。 线程在工作时,需要将主内存中的数据拷贝到工作内存中。这样对数 阅读全文
posted @ 2018-08-02 16:26 jstarseven 阅读(1546) 评论(0) 推荐(0)
摘要:一、概述 1、什么是Lambda表达式 Lambda 表达式是一种匿名函数,简单地说,它是没有声明的方法,也即没有访问修饰符、返回值声明和名字。 它可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使 Java 语言的表达能力得到了提升。 2、Lambda表达式的语法 基本语法: (param 阅读全文
posted @ 2018-08-01 10:26 jstarseven 阅读(2263) 评论(0) 推荐(0)
摘要:原文出处:http://www.yund.tech/zdetail.html?type=1&id=961cc31f7bb2409f3a401478dc2cc38e 作者:jstarseven 线程池优势 在业务场景中, 如果一个对象创建销毁开销比较大, 那么此时建议池化对象进行管理. 例如线程, j 阅读全文
posted @ 2018-06-25 18:23 jstarseven 阅读(1641) 评论(0) 推荐(0)
摘要:本文主要讲并行优化的几种方式, 其结构如下: 锁优化 减少锁的持有时间 例如避免给整个方法加锁 1 public synchronized void syncMethod(){ 2 othercode1(); 3 mutextMethod(); 4 othercode2(); 5 } 改进后 1 p 阅读全文
posted @ 2018-06-25 18:18 jstarseven 阅读(3613) 评论(0) 推荐(0)
摘要:原文出处:http://www.yund.tech/zdetail.html?type=1&id=34e52a515cd0e4d120255c90f33396af 作者:jstarseven 本文主要讲解几种常见并行模式, 具体目录结构如下图. 单例 单例是最常见的一种设计模式, 一般用于全局对象管 阅读全文
posted @ 2018-06-25 18:17 jstarseven 阅读(1617) 评论(0) 推荐(0)
摘要:原文出处:http://www.yund.tech/zdetail.html?type=1&id=ef94715a2838f06ab03b8621c23d1613 作者:jstarseven ReentrantLock主要利用CAS+CLH队列来实现。它支持公平锁和非公平锁,两者的实现类似。 CAS 阅读全文
posted @ 2018-06-13 15:48 jstarseven 阅读(3100) 评论(1) 推荐(4)
摘要:为什么使用logback 记得前几年工作的时候,公司使用的日志框架还是log4j,大约从16年中到现在,不管是我参与的别人已经搭建好的项目还是我自己主导的项目,日志框架基本都换成了logback,总结一下,logback大约有以下的一些优点: 内核重写、测试充分、初始化内存加载更小,这一切让logb 阅读全文
posted @ 2018-06-12 11:24 jstarseven 阅读(1790) 评论(0) 推荐(0)
摘要:前言 Java多线程分类中写了21篇多线程的文章,21篇文章的内容很多,个人认为,学习,内容越多、越杂的知识,越需要进行深刻的总结,这样才能记忆深刻,将知识变成自己的。这篇文章主要是对多线程的问题进行总结的,因此罗列了40个多线程的问题。 这些多线程的问题,有些来源于各大网站、有些来源于自己的思考。 阅读全文
posted @ 2018-06-12 10:09 jstarseven 阅读(1532) 评论(0) 推荐(0)
摘要:maven-assembly-plugin使用描述(拷自 maven-assembly-plugin 主页) The Assembly Plugin for Maven is primarily intended to allow users to aggregate the project out 阅读全文
posted @ 2018-05-31 10:36 jstarseven 阅读(1756) 评论(0) 推荐(0)
摘要:Java线程状态 线程的五种状态 * 新建:new(时间很短) * 运行:runnable * 等待:waitting(无限期等待),timed waitting(限期等待) * 阻塞:blocked * 结束:terminated(时间很短) Jvm监控工具 一、jstack 介绍: jstack 阅读全文
posted @ 2018-04-19 15:33 jstarseven 阅读(7566) 评论(0) 推荐(0)
摘要:java主线程等待所有子线程执行完毕在执行,这个需求其实我们在工作中经常会用到,比如用户下单一个产品,后台会做一系列的处理,为了提高效率,每个处理都可以用一个线程来执行,所有处理完成了之后才会返回给用户下单成功。 我们通过以下的几种方法来解决: 一、使用Thread的join()等待所有的子线程执行 阅读全文
posted @ 2018-01-25 15:29 jstarseven 阅读(1660) 评论(0) 推荐(0)
摘要:本文主要是将synchronized关键字用法作为例子来去解释Java中的对象锁和类锁。特别的是希望能帮大家理清一些概念。 一、synchronized关键字 synchronized关键字有如下两种用法: 1、 在需要同步的方法的方法签名中加入synchronized关键字。 synchroniz 阅读全文
posted @ 2017-11-24 15:27 jstarseven 阅读(537) 评论(0) 推荐(0)
摘要:最近项目需要导出企业风险报告,文件格式为pdf,于是搜了一大批文章都是什么Jasper Report,iText ,flying sauser ,都尝试了一遍,感觉不是我想要的效果, 需要自己调整好多东西,样式,字体等等,好麻烦,毕竟博主这么懒的人,哈哈。 jstarseven 言归正传: java 阅读全文
posted @ 2017-07-28 17:57 jstarseven 阅读(2035) 评论(0) 推荐(0)
摘要:【转载请注明】: 原文出处:http://www.yund.tech/zdetail.html?type=1&id=c43a50f85232f861eb0b5f8f8d268e9a 作者:jstarseven 码字挺辛苦的..... 说起来甚是惭愧,博主在写这篇文章的时候,还没有系统性的学习一下ES 阅读全文
posted @ 2017-05-03 17:36 jstarseven 阅读(11824) 评论(8) 推荐(7)