- 博客(14)
- 资源 (1)
- 收藏
- 关注
原创 JVM 远程调试
经过测试可用:远程jvm配置:-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1506调试方配置:
2018-09-28 13:16:00 1722
原创 减少锁粒度——锁容器的实现
应用场景用户账户存在余额,用户在充值的时候也在消费,在充值或者消费过程中,若交易过程没有线程控制,则可能造成充值失败,余额对不上。比如充值时余额为100,消费金额10,充值金额100;消费时获取余额100,充值获取余额100,充值完成200,消费10,余额变成90,覆盖充值记录最终余额变成90。充值失败。对交易接口加锁可以解决,但会影响到所有用户的交易过程,严重影响效率。若每个用户有自...
2018-09-27 11:43:05 552
原创 再谈Java单例
网上流传很多java单例的写法,让人看了很是不解,一个简单的单例为何如此复杂,让人都不敢确定自己写的单例可不可用了。其实很多的变体都是基于线程安全考虑的,之所以觉得复杂,是未能搞清楚应用的场景。绝对的线程安全是要付出代价的,我们只要知道我们写的单例模式能满足我们的并发需求,就可以放心的使用了。 最简单的写法 public class Singleton { private st...
2018-09-27 10:55:51 182
原创 Apache配置WebSocket代理
引入mod_proxy_wstunnel.so模块,使其可以解析ws、wss协议LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so配置代理路径跳转Include conf/vhosts.conf<VirtualHost *:80> ServerName yangkl-test.com S...
2018-09-25 18:16:29 13033
原创 JetBrain代码补全
在开发的过程中,我们不一定能记得所有关键字,方法,常量的拼写。代码补全可以极大的提高开发的效率和正确性。JetBrain提供的IDE是我比较喜欢用的,好处相信用过的人都知道。代码补全的设置1、Settings->Editor->Live Templates2、将代码文件夹标记为source,否则IDE会将其视为普通文件,而无法进行补全...
2018-09-20 09:04:31 581
原创 栈帧
1、栈帧对应一个线程的一个执行方法。封装了方法执行的局部变量表、操作数栈、返回地址、动态链接等2、栈帧所在的内存模型为java运行时数据区的虚拟机栈。3、虚拟机栈(vm stack)为线程私有,故栈帧也为线程私有。4、一个线程的方法调用链很长,很多方法都处于执行状态,但仅有栈顶的栈帧才是有效栈帧。
2017-12-29 19:58:36 471
原创 java线程死锁原因及避免
死锁原因:线程死锁的本质在于不同线程对资源锁的竞争,如果竞争中存在闭环,则会出现死锁。而为了避免死锁,最关键的是避免出现资源锁竞争的闭环。避免死锁的秘诀:资源按顺序调用。理解:1、资源指的是需要加锁的对象,不加锁就不存在竞争,也就谈不上资源的死锁。2、不同线程在调用资源时,均需按相同的顺序调用资源。示例:以下的示例只要testSynchronized方法传入的资源顺序相同,即不可能
2017-12-20 08:28:47 966
原创 Idea中Maven整合Spring+mybatis+tomcat
Idea中Spring+Mybatis Web项目整合业务背景 工作中的一个项目,应用系统需要从第三方应用系统同步数据,第三方提供了数据库实时数据库。 存在一个问题,应用系统使用JDK1.8开发,实时数据库目前采用ODBC桥接取数,仅JDK1.7支持,JDK1.8移除了ODBC桥接驱动。如果取数逻辑在应用系统库中进行开发,则应用系统JDK需降级至1.7,影响和改
2017-12-11 11:22:21 609
原创 常见乱码场景及解决方式
1、idea中用mybatis查询数据库中文乱码在查询IP21实时数据库过程中,通过odbc-jdbc驱动取数,试过很多编码格式都是乱码 while (rs.next() && index < 1000) { for (int i = 1; i <= columnCount; i++) { String result = rs.get
2017-11-29 10:47:38 517
原创 Mybatis+Spring整合
1 概述示例用maven工程对spring和mybatis进行整合,数据库采用sqlite,连接池采用阿里巴巴druid数据库连接池。代码:2017-11-28邮件2 pom.xmlxml version="1.0"encoding="UTF-8"?>projectxmlns="http://maven.apache.org/
2017-11-28 11:27:13 325
原创 oracle轻量级客户端链接plsql
很多次在新环境配置plsql都涉及到,记录一下以后配置方便看1、下载轻量级客户端个人邮箱: 2017-11-27邮件2、解压到任意目录 D:\Tools\oracle\instantclient_11_23、设置环境变量ORACLE_HOME D:\Tools\oracle\instantclient_11_2TNS_ADMIN D:\Tools\oracle
2017-11-27 16:07:09 1452
原创 使用嵌入式jetty在Eclipse中部署struts2示例程序struts2-blank
使用内嵌jetty在Eclipse中部署struts2示例
2014-12-30 14:16:46 1249
How tomcat works
2010-02-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人