- 博客(12)
- 收藏
- 关注
原创 《java程序性能优化》读书笔记之字符串优化
字符串是软件开发中最为重要的对象之一。通常,字符串对象或者其等价对象,在内存中总是占据了最大的空间块。因此如何高效地处理字符串,必将是提高系统整体性能的关键所在。[b]String对象及其特点[/b]String对象是Java中重要的数据类型,它不是基础数据类型。在Java中,String对象可以认为是char数组的延伸和进一步封装。下图展示了Java中String类的基本实现,它...
2014-05-09 18:55:31
102
原创 MongoDB Shell
MongoDB自带JS Shell,可在shell中使用命令行与MongoDB实例进行交互。接下来将介绍一些常用的命令。1.运行shell运行mongo启动shell:D:\mongodb-win32-i386-2.4.9\bin>mongoMongoDB shell version: 2.4.9connecting to: test启动时,shell将自动连接...
2014-03-12 18:59:21
100
原创 Host 'xxx' is not allowed to connect to this MySQL server
在安装MySQL的过程中,在输入访问密码的界面里有一个单选项(截图附后),此单选项的意思就是是否允许远程访问root。如果没有勾选此项的话,MySQL默认在mysql.user表里会创建一条记录,该记录的user列值为root,host列值为localhost。此时如果不是在安装MySQL数据库的本机访问MySQL(即远程访问),将会报错,错误提示信息如本博客标题所示范。有两种方法...
2013-07-23 17:48:36
109
原创 JdbcTemplate中queryForObject的空结果或不正确结果数量问题
在使用Spring提供的JdbcTemplate中名为queryForObject API进行数据库查询时有时会抛出如下异常提示息,org.springframework.dao.EmptyResultDataAccessException: Incorrect result size: expected 1, actual 0 或者 org.springframework.dao.Incorre...
2013-06-24 14:47:55
1668
原创 使用navicat for mysql实现定时备份
首先打开需要进行备份的数据库,使之被高亮选中。点击“Schedule”菜单,点击后将出现如下图所示的功能界面: 点击“New Batch Job”,点击后将出现如下图所示的功能界面: “General”选项卡中显示了指定数据库连接下各个数据库实例中可供使用的JOB,鼠标左键双击可用的JOB,即可使之成为当前即将要创建的Schedule中的JOB,如下图所示: 点击“S...
2013-06-24 11:33:29
372
原创 MySQL Packet for query is too large (1521830 > 1048576)
使用SpringMVC做文件上传,上传的文件需要持久化到数据库,数据库实现为MySQL 5.1。对于小于1M的文件没有发生任何异常,当上传的文件大于1M时会触发下面的异常。com.mysql.jdbc.PacketTooBigException: Packet for query is too large (14865778 > 1048576). You can change this ...
2013-06-18 17:40:12
119
原创 freemarker数字格式化
freemarker在解析数据格式的时候,默认自动将数字按3位进行分割,如1,000.这个问题给操作带来一定的额外处理复杂度.解决方法有如下几种: 1.在模板中直接加.toString()将数字转化为字符串,如:${id.toString()};2.在freemarker配置文件freemarker.properties添加number_format=#或者number_forma...
2013-06-06 15:47:09
185
原创 使用Comet4j实现消息推送
Comet4J(Comet for Java)是一个纯粹基于AJAX(XMLHTTPRequest)的服务器推送框架,消息以JSON方式传递,具备长轮询、长连接、自动选择三种工作模式。有关comet4j更多的信息在此不再详细展开,需要了解的请访问地址 http://code.google.com/p/comet4j/。在项目中使用comet4j需要引入2个文件,comet4j.js、com...
2013-05-23 16:30:26
174
原创 通过字符串对象接收异常的堆栈信息
[code="java"]PrintWriter pw = null;ByteArrayOutputStream byteOutputStream = new ByteArrayOutputStream();pw = new PrintWriter(byteOutputStream, true);e.printStackTrace(pw);String exMessage = ...
2013-05-20 17:59:21
102
原创 利用lobHandler实现LOB列的查询
Spring提供的DefaultLobHandler可以用来对lob类型的数据列进行相关的操作。如以下代码所示,image_code列的数据类型为blob,下面的代码展示了一个查询示例。[code="java"]public byte[] queryUserImage(String targetUserId) { String sql = "SELECT image_code FR...
2013-05-20 16:00:05
272
原创 利用Spring JdbcTemplate实现批量操作
[code="java"]/** * 更新资源与菜单的关系 * @param operator * @param menuId * @param resourceIdList */public void updateRelationshipWithMenu(final String operator, final String menuId, final List reso...
2013-05-20 15:28:14
300
原创 利用Hibernate 3 Interceptor生成审计日志
在实际应用中,有可能需要审计对数据库中重要数据的更新历史。如:每当发生向T_USER表中插入或更新记录的事件时,就向审计日志表插入一条记录。对于此种业务场景,可以采用数据库的触发器来生成审计日志,这种方法较为简便,并且有很好的性能,但是不支持跨数据库平台,缺乏灵活性。因此我们可以采用Hibernate 3以后提供的拦截器来实现相应的功能。当Session执行save()、update()、...
2013-05-20 15:20:33
272
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人