- 博客(15)
- 问答 (1)
- 收藏
- 关注
原创 深入理解AQS之独占锁ReentrantLock源码分析
- AQS全称AbstractQueuedSynchronizer,是大多JUC并发包实现所依赖的抽象同步框架,它是MESA在java层面抽象层的管程实现,其中包括(条件队列,等待队列,等待唤醒,同步状态等)
2023-09-19 12:26:43 63
原创 Atomic原子操作类
上述方法调用了Unsafe类的getAndAddLong方法,该方法内部是个native方法,它的逻辑是采用自旋的方式不断更新目标值,直到更新成功。在并发量较低的环境下,线程冲突的概率比较小,自旋的次数不会很多。但是,高并发环境下,N个线程同时进行自旋操作,会出现大量失败并不断自旋的情况,此时AtomicLong的自旋会成为瓶颈。概念:在J.U.C下的atomic包提供了一系列的操作简单,性能高效,并能保证线程安全的类去更新基本类型变量,数组元素,引用类型以及更新对象中的字段类型。
2023-09-19 12:18:32 44
原创 硬件层面缓存一致性
位于cpu与主内存之间一种容量较小但速度很快的存储器,主要是查内存的速度远远大于查缓存的速度,需要增加缓存来存储刚用过的数据或循环使用的一部分数据。cpu为了加快速度,减少cpu与内存的交互,一般在cpu上集成了多级缓存架构,常见的为三级缓存结构。局部性原理 : cpu访问存储,无论是取数据或是取cpu指令,都趋于聚集在一片连续的区域。
2023-09-19 12:09:55 68
原创 理解JMM内存模型
MM为了使java具有跨平台特性屏蔽了各种硬件和操作系统的内存访问差异,规定了共享变量的访问与同步,围绕原子性,有序性,可见性展开
2023-09-19 12:03:07 49
原创 线程生命周期&线程交互方式
处于休眠中的线程被中断,线程是可以感受到中断信号的,并且会抛出一个 InterruptedException 异常,同时清除中断信号,将中断标记位设置成 false。概念:LockSupport是JDK中用来实现线程阻塞和唤醒的工具,线程调用park则等待许可,调用unpark则为指定线程提供许可。实现callable接口结合线程池使用,有返回值,抛异常,线程池里面的线程也是new thread实现的。中断机制是一种协作机制,也就是说通过中断并不能直接终止另一个线程,而需要被中断的线程自己处理。
2023-09-19 11:57:47 68
原创 Linux下安装MySQL
安装步骤1、下载 下载地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads 下载版本:我这里选择的5.6.33,通用版,linux下64位 也可以直接复制64位的下载地址,通过命令下载:wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5....
2018-08-29 22:58:25 143 1
转载 转个博客园的jsonp,说的很透彻
前言: 由于Sencha Touch 2这种开发模式的特性,基本决定了它原生的数据交互行为几乎只能通过AJAX来实现。当然了,通过调用强大的PhoneGap插件然后打包,你可以实现100%的Socket通讯和本地数据库功能,又或者通过HTML5的WebSocket也可以实现与服务器的通讯和服务端推功能,但这两种方式都有其局限性,前者需要PhoneGap支持,后者
2015-09-18 17:16:00 576
转载 使用Maven管理spring环境的profile定义
开发过程中需要针对开发环境,正式环境等进行不同的参数配置,比如开发环境使用H2数据库做简单测试,正是环境使用mysql数据库。如果手动管理这些配置信息会很麻烦,最重要的是可能会因为操作失误导致一些错误。因此需要对不同环境的配置信息进行集中管理。spring 3.1版本提供了profile配置机制,同时maven对profile也有支持,我们将使用mavne + spring 的profile管
2015-09-11 16:31:33 444
原创 spring整合javamail跟quartz实现定时发送邮件
1.spring 整合 javamail ---applicationContext-javamail-beans.xml代码为:<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http
2015-09-07 17:08:21 955
原创 通过tomcat插件+jndi配置,避免tomcat热重启影响开发效率
1.首先去http://www.eclipsetotale.com/tomcatPlugin.html网站下载tomcat插件,并与eclipse整合,(具体操作可查看:http://blog.csdn.net/seuxiaoqi/article/details/6003549)2.1配置tomcat跟路径(CATALINA)----->cong------>context.xml(此为全局设
2015-09-07 10:57:17 755
转载 避免tomcat热重启影响开发效率---亲测可用
Oracle提供的JDK其实已经自带一定程度的热加载功能,但是如果你修改了类名,方法名,或者添加了新类,新方法的话。Tomcat都需要重新启动来使得刚才的更改生效。而JRebel和springloaded都能有效地解决这个问题。其中springloaded是开源软件,可以免费使用,尤其难得。其主页:https://github.com/spring-projects/spring-lo
2015-06-18 17:38:07 1443
转载 SpringMVC 数据验证
这里我们采用Hibernate-validator来进行验证,Hibernate-validator实现了JSR-303验证框架支持注解风格的验证。首先我们要到http://hibernate.org/validator/下载需要的jar包,这里以4.3.1.Final作为演示,解压后把hibernate-validator-4.3.1.Final.jar、jboss-logging-3.1.0.
2015-06-18 16:34:00 340
空空如也
数据库 left join 优化问题
2015-06-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人