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

浙公网安备 33010602011771号