自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (1)
  • 收藏
  • 关注

原创 JVM 远程调试

经过测试可用:远程jvm配置:-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1506调试方配置:

2018-09-28 13:16:00 1694

原创 减少锁粒度——锁容器的实现

应用场景用户账户存在余额,用户在充值的时候也在消费,在充值或者消费过程中,若交易过程没有线程控制,则可能造成充值失败,余额对不上。比如充值时余额为100,消费金额10,充值金额100;消费时获取余额100,充值获取余额100,充值完成200,消费10,余额变成90,覆盖充值记录最终余额变成90。充值失败。对交易接口加锁可以解决,但会影响到所有用户的交易过程,严重影响效率。若每个用户有自...

2018-09-27 11:43:05 521

原创 再谈Java单例

网上流传很多java单例的写法,让人看了很是不解,一个简单的单例为何如此复杂,让人都不敢确定自己写的单例可不可用了。其实很多的变体都是基于线程安全考虑的,之所以觉得复杂,是未能搞清楚应用的场景。绝对的线程安全是要付出代价的,我们只要知道我们写的单例模式能满足我们的并发需求,就可以放心的使用了。 最简单的写法 public class Singleton { private st...

2018-09-27 10:55:51 157

原创 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 12920

原创 JetBrain代码补全

在开发的过程中,我们不一定能记得所有关键字,方法,常量的拼写。代码补全可以极大的提高开发的效率和正确性。JetBrain提供的IDE是我比较喜欢用的,好处相信用过的人都知道。代码补全的设置1、Settings->Editor->Live Templates2、将代码文件夹标记为source,否则IDE会将其视为普通文件,而无法进行补全...

2018-09-20 09:04:31 539

原创 栈帧

1、栈帧对应一个线程的一个执行方法。封装了方法执行的局部变量表、操作数栈、返回地址、动态链接等2、栈帧所在的内存模型为java运行时数据区的虚拟机栈。3、虚拟机栈(vm stack)为线程私有,故栈帧也为线程私有。4、一个线程的方法调用链很长,很多方法都处于执行状态,但仅有栈顶的栈帧才是有效栈帧。

2017-12-29 19:58:36 413

原创 java线程死锁原因及避免

死锁原因:线程死锁的本质在于不同线程对资源锁的竞争,如果竞争中存在闭环,则会出现死锁。而为了避免死锁,最关键的是避免出现资源锁竞争的闭环。避免死锁的秘诀:资源按顺序调用。理解:1、资源指的是需要加锁的对象,不加锁就不存在竞争,也就谈不上资源的死锁。2、不同线程在调用资源时,均需按相同的顺序调用资源。示例:以下的示例只要testSynchronized方法传入的资源顺序相同,即不可能

2017-12-20 08:28:47 906

转载 MANIFEST.MF的用途

.点击打开链接

2017-12-12 23:17:21 409

原创 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 575

原创 常见乱码场景及解决方式

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 491

原创 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 309

原创 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 1407

原创 Tomcat中的设计模式

设计模式在tomcat中很多地方都有涉及,本文将其中用到的地方进行整理

2017-11-24 16:42:20 447

原创 使用嵌入式jetty在Eclipse中部署struts2示例程序struts2-blank

使用内嵌jetty在Eclipse中部署struts2示例

2014-12-30 14:16:46 1209

How tomcat works

《How tomcat works》清晰版英语电子资料,详细介绍了tomcat的工作原理。并通过本书,可以从0代码,一步一步建立自己的tomcat服务器。

2010-02-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除