lotus

贵有恒何必三更眠五更起 最无益只怕一日曝十日寒

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2019年3月19日

摘要: 相信很多中高级的 Java 面试者都遇到过这个问题,很多对这个不是很清楚的肯定是一脸蒙逼。内心肯定还在质疑,i++ 居然还有线程安全问题?只能说自己了解的不够多,自己的水平有限。 先来看下面的示例来验证下 i++ 到底是不是线程安全的。 1000个线程,每个线程对共享变量 count 进行 1000 阅读全文
posted @ 2019-03-19 23:39 白露~ 阅读(721) 评论(0) 推荐(1)

摘要: AtomicInteger这个类的存在是为了满足在高并发的情况下,原生的整形数值自增线程不安全的问题。比如说 int i = 0 ; i++; 上面的写法是线程不安全的。 有的人可能会说了,可以使用synchronized关键字啊。 但是这里笔者要说的是,使用了synchronized去做同步的话系 阅读全文
posted @ 2019-03-19 23:35 白露~ 阅读(564) 评论(0) 推荐(0)

摘要: 并发编程 并发程序要正确地执行,必须要保证其具备原子性、可见性以及有序性;只要有一个没有被保证,就有可能会导致程序运行不正确 线程不安全在编译、测试甚至上线使用时,并不一定能发现,因为受到当时的CPU调度顺序,线程个数、指令重排的影响,偶然触发 线程安全的定义 比如说一个类,不论通过怎样的调度执行顺 阅读全文
posted @ 2019-03-19 23:27 白露~ 阅读(531) 评论(0) 推荐(0)

摘要: 转载请注明本文地址:https://www.jianshu.com/p/f00aa6f66281 源码地址:https://gitee.com/sunnymore/asyncToSync Sunny先来说一下对异步和同步的理解: 同步调用:调用方在调用过程中,持续等待返回结果。 异步调用:调用方在调 阅读全文
posted @ 2019-03-19 21:56 白露~ 阅读(1408) 评论(0) 推荐(0)

摘要: 1、同步调用 同步调用是最基本的调用方式,对象b中的方法直接调用对象a的方法,这个时候程序会等待对象a的方法执行完返回结果之后才会继续往下走。 代码如下: public class A {public void methodA(){System.out.println("this is class 阅读全文
posted @ 2019-03-19 21:54 白露~ 阅读(1591) 评论(0) 推荐(0)

摘要: 1:同步调用:一种阻塞式调用,调用方要等待对方执行完毕才返回,它是一种单向调用 2:回调:一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口; 3:异步调用:一种类似消息或事件的机制,不过它的调用方向刚好相反,接口的服务在收到某种讯息或发生某种事件时,会主动通知客户方(即调用客户方 阅读全文
posted @ 2019-03-19 21:48 白露~ 阅读(758) 评论(0) 推荐(0)

摘要: synchronized同步方法和同步代码块的区别 同步方法默认使用this或者当前类做为锁。 同步代码块可以选择以什么来加锁,比同步方法更精确,我们可以选择只有会在同步发生同步问题的代码加锁,而并不是整个方法。 同步方法使用synchronized修饰,而同步代码块使用synchronized(t 阅读全文
posted @ 2019-03-19 21:34 白露~ 阅读(7494) 评论(1) 推荐(0)

摘要: 一、什么是ASM ASM是一个java字节码操纵框架,它能被用来动态生成类或者增强既有类的功能。ASM 可以直接产生二进制 class 文件,也可以在类被加载入 Java 虚拟机之前动态改变类行为。Java class 被存储在严格格式定义的 .class文件里,这些类文件拥有足够的元数据来解析类中 阅读全文
posted @ 2019-03-19 19:34 白露~ 阅读(916) 评论(0) 推荐(0)

摘要: cglib的知识点总结 cglib的底层技术:底层采用asm字节码生成框架生成代理类的字节码 2.cglib实现代理需要用到的API:实现MethodInterceptor接口,利用Enhancer类生成代理类的对象 3.cglib实现代理的原理-Enhancer类如何生成代理类对象:生成代理类Cl 阅读全文
posted @ 2019-03-19 19:31 白露~ 阅读(890) 评论(0) 推荐(0)

摘要: usr/local/jdk/bin/java -Dresin.home=/usr/local/resin -server -Xms1800M -Xmx1800M -Xmn300M -Xss512K -XX:PermSize=300M -XX:MaxPermSize=300M -XX:Survivor 阅读全文
posted @ 2019-03-19 15:54 白露~ 阅读(3523) 评论(0) 推荐(0)

摘要: JVM堆内存 JVM堆内存 JVM堆内存 JVM堆内存 JVM堆内存分为2块:Permanent Space 和 Heap Space. Permanent 即 持久代(Permanent Generation),主要存放的是Java类定义信息,与垃圾收集器要收集的Java对象关系不大。 Heap 阅读全文
posted @ 2019-03-19 15:37 白露~ 阅读(611) 评论(0) 推荐(1)

摘要: 第一种OutOfMemoryError: PermGen space发生这种问题的原意是程序中使用了大量的jar或class,使java虚拟机装载类的空间不够,与Permanent Generation space有关。 解决这类问题有以下两种办法: 1. 增加java虚拟机中的XX:PermSiz 阅读全文
posted @ 2019-03-19 15:23 白露~ 阅读(733) 评论(0) 推荐(0)

摘要: https://blog.csdn.net/Oeljeklaus/article/details/80656732 https://blog.csdn.net/Oeljeklaus/article/details/80656732 https://blog.csdn.net/Oeljeklaus/a 阅读全文
posted @ 2019-03-19 14:23 白露~ 阅读(945) 评论(0) 推荐(0)

摘要: 目录 一、常见JVM配置参数(引子) 二、JVM参数配置详解 2.1、堆大小设置 2.2、回收器选择 2.3、辅助信息 三、常见配置汇总 四、调优总结 4.1、年轻代大小选择 4.2、年老代大小选择 五、Tomcat中配置实践 六、其它配置参考 一、常见JVM配置参数(引子) Xms 是指设定程序启 阅读全文
posted @ 2019-03-19 14:00 白露~ 阅读(1791) 评论(0) 推荐(0)

摘要: CPU使用率工具: vmstat 检查应用性能时,应该首先审查CPU时间。代码优化的目的是提升而不是降低(更短时间段内的)CPU的使用率。在试图深入优化应用前,应该先弄清楚为何CPU使用率低。磁盘使用率工具: iostat 对于所有应用来说,监控磁盘使用率非常重要。即便不直接写磁盘的应用,系统交换仍 阅读全文
posted @ 2019-03-19 13:56 白露~ 阅读(388) 评论(0) 推荐(0)

摘要: 在JAVA程序中,性能问题的大部分原因并不在于JAVA语言,而是程序本身。养成良好的编码习惯非常重要,能够显著地提升程序性能。 1. 尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面: 第一,控制 阅读全文
posted @ 2019-03-19 13:55 白露~ 阅读(307) 评论(0) 推荐(0)

摘要: 总结如下: 尽量重复使用对象。 尽量多的使用局部变量。 IO的优化:尽可能的使用带buffer的输入输出流,对流进行及时的关闭,对资源的关闭,分开关闭。 循环的优化:对象的引用不要在循环里重复创建,不要进行重复的计算,不要在循环里面使用try catch. 使用懒加载策略,不要创建 一些不使用的对象 阅读全文
posted @ 2019-03-19 13:54 白露~ 阅读(1532) 评论(0) 推荐(0)

摘要: https://blog.csdn.net/xiang__liu/article/details/79321639 稍后有时间整理 阅读全文
posted @ 2019-03-19 13:53 白露~ 阅读(218) 评论(0) 推荐(0)

摘要: 国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为“中国PE 阅读全文
posted @ 2019-03-19 13:42 白露~ 阅读(903) 评论(0) 推荐(0)

摘要: Java 应用性能优化是一个老生常谈的话题,笔者根据个人经验,将 Java 性能优化分为 4 个层级:应用层、数据库层、框架层、JVM 层。通过介绍 Java 性能诊断工具和思路,给出搜狗商业平台的性能优化案例以供参考。 Java 应用性能优化是一个老生常谈的话题,典型的性能问题如页面响应慢、接口超 阅读全文
posted @ 2019-03-19 13:40 白露~ 阅读(328) 评论(0) 推荐(0)