- 浏览: 380043 次
- 性别:
- 来自: 杭州
-
最新评论
-
真的全站唯一:
描述的能不能准确一点,我也以为bigDecimal性能比dou ...
【性能】Java BigDecimal和double性能比较 -
zhanggang807:
学习到了。。以后会考虑往这方面设计
【java规范】Java spi机制浅谈 -
Xiong506:
xiyuan1025 写道你这是在linux下吗,我在linu ...
[监控]Btrace监控简单笔记 -
Xiong506:
xiyuan1025 写道你这是在linux下吗,我在linu ...
[监控]Btrace监控简单笔记 -
Bll:
找不到实现类
【java规范】Java spi机制浅谈
文章列表
因为未来业务发展的一个需求里的,考虑要用到NoSql,所以做了一些预研。今天简单体验了下mongdb,感觉挺合适的,有点热血沸腾。简单记录下mongoDB的一些初体验。
mongoDB的特性有哪些?以下是官网的定义:
MongoDB (from "humong ...
1.关于 Oracle date和timestamp类型
Date
:只能精确到秒。TimeStamp:可以
精确到微秒。
关于具体类型不过多介绍。可以参考:
http://www.databasejournal.com/features/oracle/article.php/2234501/A-Comparison-of-Oracles-DATE-and-TIMESTAMP-Datatypes.htm
2.问题
生产环境在一条sql里使用到了 gmt_create > :1 and gmt_create< :2的条件语句。
数据库里的gmt_create字段是 ...
JVM的相关知识是学习java高级特性必须要去深入学习的。平时也有一些学习和实践,不过总结比较少。
今天有时间总结一下最基础的内存模型和GC策略的知识,在此记录一下。
hotspot jvm内存模型
1.内存模型
hotspot的内存模型 ...
之前看JDBC规范的时候对PreparedStatement只是简单的知道会进行sql预编译,能提高性能。具体原理也没怎么理解。
最近在性能测试遇到一个连接池的调优刚好是和PreparedStatement和PreparedStatementCache相关的。固重新系统的看了点资料学习了点,简单记录一下。
1.java.sql.PreparedStatement
首先看wiki对使用PS的解释:
The typical workflow of using a prepared statement is as follows: Prepare: The statement ...
昨天在本人windows机器(32位的 )上调试一个代码的时候报了一个如下错误
java.lang.OutOfMemoryError: unable to create new native thread
第一眼看上去是OOM,有点傻眼,因为我的内存启动参数是“-Xms1024m -Xmx1024m -Xss45m”,而我很清楚这个代 ...
接上文:
【Spring】IOC核心源码学习(二):容器初始化过程
本文将解析spring bean定义标签和自定义标签的解析实现原理。
这里说的标签仅限于以xml作为bean定义描述符的spring容器,继承AbstractXmlApplicationContext的一些子
容器,如XmlApplicationContext、ClassPathXmlApplicationContext、
FileSystemXmlApplicationContext等。同时也仅限于描述schema作为标签定义的情况。
Spring
xml ioc
容器常用标 ...
接上文 啃啃老菜: Spring IOC核心源码学习(一)
,本文将以
ClassPathXmlApplicationContext
这个容器的实现作为基础,学习容器的初始化过程。
ClassPathXmlApplicationContext
类体系结构
以下是
ClassPathXmlApplicationContext
的类继承体系结构,理解这个结构有助于后面的代码理解。
左边黄色部分是
ApplicationContext
体系继承结构,右边是
BeanFactory
的结构体系,两个结构是典型模板方法设计模式的使用。
...
前阵子看了公司网站的一个cache 命中率统计的btrace监控脚本,感觉这个玩意功能挺强大,对应用监控有很大实践意义。也顺便把btrace简单学习了一下,未涉及原理方面的内容,只是使用层面的东西,简单笔记总结一下。
安装
Linux下:
在http://kenai.com/projects/btrace下载btrace-bin.tar.gz,并解压,设置环境变量:
export BTRACE_HOME=/home/yblin/workspace/btrace/btrace-bin
export PATH=$BTRACE_HOME/bin:$PATH
敲 ...
今天晚上和项目组的几个同学讨论一个服务方法的入参设计,觉得挺有意思的,在此记录一下!
背景
我们的场景需要对外暴露一个远程服务写入接口,用于给几个外部同步数据的场景。
由于历史的原因,需要被写入的这 ...
网站最近发生了数据库连接爆掉的问题。排查了下各个应用存在空闲连接过多的情况。
我们部门的一个应用使用dbcp连接池,也存在空闲连接过多情况。
之前是根据网站的统一配置,存在空闲连接保持过多的情况,在修改过程中在官网上把这些配置项重新看了一遍。在此记录一下!
官方参考url:
http://commons.apache.org/dbcp/configuration.html
以下记录几个配置项的意思:
(两年前本人在CSDN博客上的文章,那边都不维护了,今天顺便转过来)
JavaScript
相信做
web
编程的程序员没有人不熟悉。不管是
.net
还是
JavaEE
,作为前端的重要技术到处都会用到。大学开始学
web
编程的时候,感 ...
我们知道
java
里面有个
BigDecimal
,可以解决我们的精度丢失问题。
但是很少关注其性能情况,因为一般来说可以忽略不计的。
也确实,解决大数据量运算
java
本身并不适合。
本人愚笨,很早之前用
java
解决一个大数据量运算的算法,对性能要求很高。中间用了
BigDecimal
,注意到其性能的一些情况,发现其性能是
double
的
100
倍左右。
具体没有去深究其原因,平时其实也不用对这个在意,但是对这个知识做个基本的了解还是有必要的。
直接上代码:
import java ...
1.背景
上周在生产环境应用启动时,发生应用频频发生死锁的现象。原因是因为
spring IOC
容器还未初始化完成,就有工作线程调用
context.getBean()
来获取容器里的对象。具体产生死锁的原因条件有:
1.
应用启动的时候
Main
线程进行
spring
容器初始化。
2.
容器初始化的过程中有工作线程也起来了并开始工作。
3.
工作线程代码里显式调用
spring ioc
容器的
context.getBean(String ...
JDK7 AIO初体验
JDK7已经release一段时间了,有个重要的新特性是AIO。
今天趁闲暇,简单体验了下,简单分享如下:关于AIO的概念理解
关于AIO的概念,仅谈谈个人的一点理解。可能不到位,请大家指出。
Io的两个重要步骤:发起IO请求,和实际的IO操作。在unix网络编程的定义里异步和非异步概念的区别就是实际的IO操作是否是由操作系统完成。如果是就是异步,如果不是就是同步。
而阻塞和非阻塞的区别在于发起IO请求的时候是否会阻塞,如果会就是阻塞,不会就是非阻塞。
本人理解能力有限,想了个例子来辅助自己理解:
小明想要买一本<深入java虚拟机 ...
啃啃老菜:
Spring
IOC核心源码学习(一)
本文主要以
spring ioc
容器基本代码骨架为切入点,理解
ioc
容器的基本代码组件结构,各代码组件细节剖析将放在后面的学习文章里。
关于IOC容器
IoC
容器:最主要是完成了完成对象的创建和依赖的管理注入等等。
先从我们自己设计这样一个视角来考虑:
所谓控制反转,就是把原先我们代码里面需要实现的对象创建、依赖的代码,反转给容器来帮忙实现。那么必然的我们需要创建一个容器,同时需要一种描述来让容器知道需要创建的对象与对象的关系。这个描述最 ...