- 浏览: 35222 次
- 性别:
- 来自: 合肥
博客专栏
-
我和Java数据库操作的那...
浏览量:9482
最新评论
-
ivanlw:
楼主用的这个snapito好神奇啊……是直接把图片链接设置成他 ...
ibookmark.me上线了! -
succinite:
使用TortoiseGit, 出现以下错误。fatal: ht ...
一个简单的JAVA后台程序框架 -
mazhiyuan:
引用很显然,之前所说的梦想,并非是真正心中所想,而只不过想“找 ...
也谈梦想 -
cevin15:
说到我心里去了。现在处于离职状态。也是对前途一片迷茫~
也谈梦想 -
lwjlaser:
lettoo 写道lwjlaser 写道这篇博客第一个示例代码 ...
我和JAVA数据库操作的那些事儿(3)
文章列表
记得上次是2009年,接触到了python,gae,于是乎动手做了一个在线书签管理小工具,一来是处女作,功能、界面什么都不不好用,二来不久gae就不能正常访问了,于是一直就用google bookmark和delicious来管理自己的书签。
今年过年的时候,突然想重新把这个bookmark做起来,于是花了几个晚上的时间用python+django+piston+bootstrap做了一个框架出来,放在那也一直没动。
上周工作任务完成,又把翻出来了,重新修改了一些代码,并且花$7.99美元买了一个域名,于是乎http://ibookmark.me上线了,目前是用ec2服务器,my ...
最近,我在amazon ec2上部署自己开发的python django应用,使用了apache + MOD_WSGI的方法,现记录如下。
1. 登录amazon ec2后,它默认是没有安装apache以及wsgi_mod的,不过安装也超简单,用yum即可。
yum install httpd
yum install mod_wsgi
2. 配置httpd
打开 /ect/httpd/conf/http.conf,在LoadModule里加上:
LoadModule wsgi_module modules/mod_wsgi.so
接下来,需要加上以下配置来 ...
Virtualenv是一个非常好的virtual python environment builder,他最大的好处是,可以让每一个python项目单独使用一个环境,而不会影响python系统环境,也不会影响其他项目的环境。
安装virtualenv很简单,到http://pypi.python.org/pypi/virtualenv#downloads下载最新的版本,解压缩后,运行python setup.py install即可。
安装后,要确保你的系统path里能够找到virtualenv.py这个文件,否则就无法通过命令行来运行了。当然,也可以到安装目录里运行,这种做法是不推荐的。
...
几个月以前,我在Amazon上申请了aws,陆续了解了一些功能的用法,最吸引我的,还是EC2。EC2可以理解为一台云端的主机,目前有一年的免费使用,不过要注意其免费是有要求和额度的,如下所示:
关于如何申请和注 ...
一个Log生成工具小项目的实现
- 博客分类:
- 技术
这两天的主要工作是用java写一个log生成工具,用于大数据量的测试。写这个工具,使用了:
Spring RMI:用于启动、关闭工具
Commons-logging + log4j,用于写log,其中重新实现了RollingFileAppender用于自定义log文件名
Math.random以及Ramdon,用于生成随机的数据
ScheduledThreadPoolExecutor用于多线程定时执行一些job,每个job负责生成相应的log文件
泛型,每种log的生成器在运行时决定是哪一种log
Maven assembly plugin,用于打包,打成一个.zip包,解 ...
很多时候,log4j的RollingFileAppender配置如下:
log4j.logger.cn.lettoo.Test=INFO, file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.MaxFileSize=100KB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.File=test.log
log4j.appender.file.layout=org.apache.log4j.Pat ...
最近一段时间,心里想的最多的就是一个词就是“梦想”。为这个词所困,仔细的打量一下我目前的状态,才发现自己日复一日的度过,无非就是在混日子,没有梦想,没有追求。
为了实现心中的梦想,前段时间的我,决定开始寻找一个更能实现梦想的平台,从新开始,经历了一段时间的找工作面试之后,再重新审视自己,以及自己的梦想,到底是怎么回事?很显然,之前所说的梦想,并非是真正心中所想,而只不过想“找一个待遇更高点的工作”,“做有成就感的项目”,“学习并使用未来更有前景的技术”等等。现在认真的想一想,这些,都不能称之为“梦想”。
还记得上小学的时候,和要好的同学一起大声说长大以后要 ...
引用
半自动化武器来了:Spring JdbcTemplate
经过前面几篇的介绍,对纯JDBC的编程应用应该已经介绍的差不多了,那个感觉就是小米加步枪,虽然实用,但总感觉不爽,现在对现代化的要求越来越高,我们也应该与时俱进了,别急别急,一口吃不了胖子,我们也不要一下子完全自动化了,像Spring提供的JdbcTemplate是个不错的选择。
先来看看Spring对JdbcTemplate的介绍吧:
引用
The JdbcTemplate class is the central class in the JDBC core package. It simplifies t ...
最近在看关于一致性hash,其原理就是不仅对数据的key进行hash,同时对节点也进行hash,比如使用节点的ip值来进行hash,然后看key的hash值落在节点的hash值的区间来确定这个key在哪个节点上(我们的应该是数据会发到哪个节点)。这样在增加新的节点后,关于key的命中的影响仅仅是新增加节点和他临近的顺时钟位的节点之间的老数据。
后来又接触到虚拟节点的概念,即每个物理节点划分成若干个虚拟节点,这样做的好处是使数据较为均匀的落在不同的节点上,同时也在新增加节点后,key命中的影响降的更低。
这样我就有了问题,关于增加新的节点,而其他节点的位置不变的情况下, ...
通过前面几篇的介绍,对于JDBC的使用应该基本上够上项目开发的要求了。但是,总是觉得还有一些问题,比如,我写了一个DBUtil类,这个类里持有一个Connection对象,而这个对象是被所有需要使用的地方共用的。
private static Connection conn = null;
public static Connection getConnection() {
if (conn == null) {
String url = "jdbc:sqlite:test.db";
tr ...
在前面的两篇文章中,第一篇主要是讲了在jdbc编程中容易碰到的几个问题,以及大致的解决方法。第二篇从代码上实现了第一篇的一些方法,并且对批处理进行了一些描述。在批处理的过程中,我并没有和事务的概念放在一起,因为我发现,这两个概念往往会引起混淆。因为jdbc的批处理是jdbc层面上的,而事务是数据库层面上的,如果写一个存储过程的话,这两者是一样的,即到了一批再commit,而在jdbc编程就是两个层面了。比如下面的代码:
public void addEmployees(Connection conn, List<Employee> empList,
i ...
摘要 写道
上一篇提到的几个问题,在本篇有具体的代码。本篇后半段主要是说批处理,以及如何确定批处理的batchSize。
本博客所有源代码都可以通过Git来checkout,地址是这里:https://github.com/lettoo/LettooJava
在上一篇《我和JAVA数据库操作的那些事儿(1)
》中,采用纯JDBC编程我经历过的一些问题,主要有:
连接重复创建
资源需要注意释放
sql和代码在一起
重复性的创建Statement, ResultSet代码多
根据以前的做法,基本上都有一些解决方法
把连接放在一个对象里,并不每 ...
我们经常说的事务隔离级别,一般指的是SQL-92标准中定义的四个级别。分别是:
Read Uncommitted 未提交读
Read Committed 提交读
Repeatable Read 可重复读
Serializable 序列化
Read Uncommitted 未提交读
事务A更新了数据,但没有提交(commit),允许事务B读到这条变化的数据。如果事务A最终没有提交,而是rollback回原来的状态,那么事务B读到的数据就是一条脏数据。
图1 未提交读
Read Com ...
摘要
我开始接触jdbc的时候,常常
碰到的问题:
1. Connection基本上每次都是创建新的,导致速度很慢
2. Connection, Statement,
ResultSet用完都没有释放,导致资源泄露,内存溢出
3.
重复的代码很多,创建Statement,创建ResultSet,遍 ...
英文原文:Programming Achievements: How to Level Up as a Developer
一个优秀的程序员如何能练就成一个卓越的程序员?
先等等,暂时不谈卓越,先谈谈如何成为一个优秀的程序员。
从第一步到第N步并没有明确的路线图。事实上,第N步到底是什么还不确定。就像逻辑型思维的开发者一样,缺乏明确的目标会让从入门到精通的道路变得异常崎岖。
过去的几年中,我花了不少时间来思索这个问题。我该如何从一名能力尚可的程序员修炼成一个真正优秀的程序员呢?
成功是什么?
当我对 ...