<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Drinkjava2的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Drinkjava2</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Drinkjava2]]></copyright><item><title><![CDATA[基于前序遍历的无递归的树形结构的数据库表设计]]></title><link>https://blog.youkuaiyun.com/Drinkjava2/article/details/84919047</link><guid>https://blog.youkuaiyun.com/Drinkjava2/article/details/84919047</guid><author>Drinkjava2</author><pubDate>Sun, 15 Apr 2018 13:20:29 +0800</pubDate><description><![CDATA[本文介绍的方法基于多叉树的前序遍历序列，是所有数据库树结构存储方案中查询子树速度最快的方案。最早发表在这里&quot;http://drinkjava2.iteye.com/blog/2353983&quot;，但那篇文章太啰嗦了，这是整理后的精简版，其实原理很简单，几句话就能说完。

目前常见的树形结构数据库存储方案有以下四种，但是都存在一定问题:
1)Adjacency List（邻接表）：每个节点仅记录父...]]></description><category></category></item><item><title><![CDATA[历时一年开发，Java持久层工具jSqlBox第一个正式版本发布]]></title><link>https://blog.youkuaiyun.com/Drinkjava2/article/details/84913020</link><guid>https://blog.youkuaiyun.com/Drinkjava2/article/details/84913020</guid><author>Drinkjava2</author><pubDate>Tue, 05 Dec 2017 02:20:42 +0800</pubDate><description><![CDATA[历时一年开发，Java持久层工具jSqlBox终于推出第一个正式版本1.0.0版。详见项目地址：https://gitee.com/drinkjava2/jSqlBox， 以下为项目内容简介：

jSqlBox是一个Java持久层工具，设计目标是用来代替目前的Hibernate/MyBatis/JdbcTemplate/DbUtils等持久层工具。jSqlBox的主要特点:

    模块...]]></description><category></category></item><item><title><![CDATA[总结一下Java中SQL的九种写法]]></title><link>https://blog.youkuaiyun.com/Drinkjava2/article/details/84906431</link><guid>https://blog.youkuaiyun.com/Drinkjava2/article/details/84906431</guid><author>Drinkjava2</author><pubDate>Wed, 09 Aug 2017 17:56:27 +0800</pubDate><description><![CDATA[因为在做持久层工具开发，现总结一下各种SQL的写法，也算是清晰一下自已的思路：

第一种写法
public void someMethod(){
try
   Connection conn=...; 
   conn.setAutoCommit(false);
   PreparedStatement pst=...;
   ResultSet rs= executeSomeSq...]]></description><category></category></item><item><title><![CDATA[一种利用注释让Java支持多行字符串的方法]]></title><link>https://blog.youkuaiyun.com/Drinkjava2/article/details/84884343</link><guid>https://blog.youkuaiyun.com/Drinkjava2/article/details/84884343</guid><author>Drinkjava2</author><pubDate>Thu, 04 May 2017 22:09:21 +0800</pubDate><description><![CDATA[(2018.1.21注：本文已过时，又找到一种好一点的利用注释支持多行字符串的方法，见[url]https://my.oschina.net/drinkjava2/blog/1611028[/url] )

从BeetlSql项目将SQL全放在Beetl模板里得到启发，又想到一个比较偏门的用法。以下代码实测通过，详见jSqlBox项目的test\examples\multipleLineSQL...]]></description><category></category></item><item><title><![CDATA[jDialects:一个从Hibernate抽取的支持70多种数据库方言的原生SQL分页工具]]></title><link>https://blog.youkuaiyun.com/Drinkjava2/article/details/84883428</link><guid>https://blog.youkuaiyun.com/Drinkjava2/article/details/84883428</guid><author>Drinkjava2</author><pubDate>Tue, 25 Apr 2017 16:04:06 +0800</pubDate><description><![CDATA[jDialects([url]https://git.oschina.net/drinkjava2/jdialects[/url])是一个收集了大多数数据库方言的Java小项目，通常可用来创建分页SQL和建表DDL语句，可根据不同的数据库方言生成不同的SQL。目前jDialects支持75种数据库方言，包括Hibernate中没有的SQLLite和Access等。jDialects需要 Java7...]]></description><category></category></item><item><title><![CDATA[发明一种新的树形结构数据库存储方案]]></title><link>https://blog.youkuaiyun.com/Drinkjava2/article/details/54611429</link><guid>https://blog.youkuaiyun.com/Drinkjava2/article/details/54611429</guid><author>Drinkjava2</author><pubDate>Thu, 19 Jan 2017 05:14:56 +0800</pubDate><description><![CDATA[最近在开发jSqlBox过程中，想研究一下树形结构的和VO对象树的转换，突然发现一种新的树结构数据库存储方案，主要特点是用很多的数据库列来存储一个占位符(1或空值)。在网上搜索了一下，没有找到雷同的（也可能是我花的时间不够）方案，现介绍如下:
目前常见的树形结构数据库存储方案有以下四种，但是都存在一定问题:
1)Adjacency List:：记录父节点。优点是简单，缺点是访问子树需要遍历，发出许多条SQL，对数据库压力大。
2)Path Enumerations：用一个字符串记录整个路径。优点是查询方便，]]></description><category></category></item><item><title><![CDATA[发明了一种新的树结构数据库存储方案]]></title><link>https://blog.youkuaiyun.com/Drinkjava2/article/details/84853464</link><guid>https://blog.youkuaiyun.com/Drinkjava2/article/details/84853464</guid><author>Drinkjava2</author><pubDate>Thu, 19 Jan 2017 02:01:49 +0800</pubDate><description><![CDATA[最近在开发jSqlBox过程中，想研究一下树形结构和VO对象树的转换，突然发现一种新的树结构数据库存储方案，在网上搜索了一下，没有找到雷同的（也可能是我花的时间不够）方案，现介绍如下: 
目前常见的树形结构数据库存储方案有以下四种，但是都存在一定问题:
1)Adjacency List:：记录父节点。优点是简单，缺点是访问子树需要遍历，发出许多条SQL，对数据库压力大。
2)Path Enu...]]></description><category></category></item><item><title><![CDATA[顺便说一下一个老帖子关于domain object的讨论]]></title><link>https://blog.youkuaiyun.com/Drinkjava2/article/details/84835498</link><guid>https://blog.youkuaiyun.com/Drinkjava2/article/details/84835498</guid><author>Drinkjava2</author><pubDate>Sun, 15 Jan 2017 03:50:44 +0800</pubDate><description><![CDATA[顺便说一下一个老帖子：http://www.blogjava.net/GandofYan/archive/2006/05/30/48954.html关于domain object的讨论，其中的领域逻辑用E-R建模来表示是这样的：
[img]http://dl2.iteye.com/upload/attachment/0122/6088/a708dcbb-63e9-3218-ac86-14aaca...]]></description><category></category></item><item><title><![CDATA[利用JDK自带的Logger防止Log冲突]]></title><link>https://blog.youkuaiyun.com/Drinkjava2/article/details/84828708</link><guid>https://blog.youkuaiyun.com/Drinkjava2/article/details/84828708</guid><author>Drinkjava2</author><pubDate>Mon, 28 Nov 2016 18:05:39 +0800</pubDate><description><![CDATA[下面这个类默认使用JDK自带的logger,如系统存在org.apache.commons.logging则动态加载并用反射来调用，如进一步，系统中还存在Log4j及其配置,则自动使用Log4j代替commons logging, 这样程序包发布时根本无须将commons logging或log4j放在POM中。
[code=&quot;java&quot;]
package com.github.drinkja...]]></description><category></category></item><item><title><![CDATA[利用ThreadLocal完美解决JDBC动态拼接SQL的多条件查询]]></title><link>https://blog.youkuaiyun.com/Drinkjava2/article/details/84828070</link><guid>https://blog.youkuaiyun.com/Drinkjava2/article/details/84828070</guid><author>Drinkjava2</author><pubDate>Wed, 23 Nov 2016 14:35:34 +0800</pubDate><description><![CDATA[再摘一段JDBC多条件查询的单元测试实例（源码可在jSQLBox项目下找到)，大家知道在条件不确定的情况下，执行动态拼接生成的SQL，即要保证SQL安全性，防止SQL注入，又要保证编码的简洁性，这一直是一个头痛的问题。 jSQLBox利用ThreadLocal解决了这个问题:
Java代码  收藏代码

    public class ConditionQueryTest {  
   ...]]></description><category></category></item><item><title><![CDATA[发现一种超简单的将SQL包装成PrepraredStatement的方法]]></title><link>https://blog.youkuaiyun.com/Drinkjava2/article/details/84820190</link><guid>https://blog.youkuaiyun.com/Drinkjava2/article/details/84820190</guid><author>Drinkjava2</author><pubDate>Sat, 08 Oct 2016 07:07:44 +0800</pubDate><description><![CDATA[冒个泡，jSQLBox项目已启动，欢迎有兴趣的加入:https://github.com/drinkjava2/jSQLBox
jSQLBox项目要完成的基本功能有: CRUD方法、 JDBC包装、一级缓存、脏检查、纯JAVA方式配置，配置可动态生成修改。

在jSQLBox编写过程中，刚完成对JDBC的包装，突然发现一种超简单的将SQL包装成PrepraredStatement的方法，利用...]]></description><category></category></item><item><title><![CDATA[一个机械工程师也谈谈对数据和领域建模的理解]]></title><link>https://blog.youkuaiyun.com/Drinkjava2/article/details/52658432</link><guid>https://blog.youkuaiyun.com/Drinkjava2/article/details/52658432</guid><author>Drinkjava2</author><pubDate>Sun, 25 Sep 2016 09:36:51 +0800</pubDate><description><![CDATA[前言：最近jBeanBox项目收尾，感觉用Java初始化块来代替Spring的XML配置这种模式挺好的，手中有了这把锤子，于是看什么都象钉子，这不，又看上了Hibernate，  SSH三兄弟，紧跟在Spring后面，也是用XML或Annotation配置，配置也是固定的，不能在运行期动态生成和修改，好了，钉子就是它了。新项目名字都想好了，就叫jSQLBox，用来代替Hibernate。对了，顺便]]></description><category></category></item><item><title><![CDATA[一个机械工程师也谈谈对数据和领域建模的理解]]></title><link>https://blog.youkuaiyun.com/Drinkjava2/article/details/84818422</link><guid>https://blog.youkuaiyun.com/Drinkjava2/article/details/84818422</guid><author>Drinkjava2</author><pubDate>Thu, 22 Sep 2016 10:55:02 +0800</pubDate><description><![CDATA[前言：最近jBeanBox项目收尾，感觉用Java初始化块来代替Spring的XML配置这种模式挺好的，手中有了这把锤子，于是看什么都象钉子，这不，又看上了Hibernate，  SSH三兄弟，紧跟在Spring后面，也是用XML或Annotation配置，配置也是固定的，不能在运行期动态生成和修改，好了，钉子就是它了。新项目名字都想好了，就叫jSQLBox，用来代替Hibernate。对了，顺便...]]></description><category></category></item><item><title><![CDATA[用jBeanBox替换Spring内核实现无XML配置的声明式事务服务]]></title><link>https://blog.youkuaiyun.com/Drinkjava2/article/details/51723905</link><guid>https://blog.youkuaiyun.com/Drinkjava2/article/details/51723905</guid><author>Drinkjava2</author><pubDate>Mon, 20 Jun 2016 22:56:39 +0800</pubDate><description><![CDATA[Spring的问题主要是太复杂、配置方式太多，XML配置不支持运行期修改,不支持IDE类名重构、方法提示。jBeanBox是一个单文件源码只有650行的IOC/AOP微型项目，特点是用JAVA代替XML, 简单易懂。目前版本更新到2.0版，添加了AOP联盟和AspectJ接口支持以与其它AOP工具兼容。 声明式事务是AOP的典型运用场合，基本原理是利用线程局部变量来管理连接，本来想写一个简化版的，]]></description><category></category></item><item><title><![CDATA[用jBeanBox替换Spring内核实现声明式事务]]></title><link>https://blog.youkuaiyun.com/Drinkjava2/article/details/84806960</link><guid>https://blog.youkuaiyun.com/Drinkjava2/article/details/84806960</guid><author>Drinkjava2</author><pubDate>Mon, 20 Jun 2016 12:58:45 +0800</pubDate><description><![CDATA[Spring的问题主要是太复杂、配置方式太多，XML配置不支持运行期修改,不支持IDE类名重构、方法提示。jBeanBox是一个单文件源码只有650行的IOC/AOP微型项目，特点是用JAVA代替XML, 简单易懂。目前版本更新到2.0版，添加了AOP联盟和AspectJ接口支持以与其它AOP工具兼容。 声明式事务是AOP的典型运用场合，基本原理是利用线程局部变量来管理连接，本想自已写一个简化版的...]]></description><category></category></item><item><title><![CDATA[关于生命和人工智能的一些遐想]]></title><link>https://blog.youkuaiyun.com/Drinkjava2/article/details/84774751</link><guid>https://blog.youkuaiyun.com/Drinkjava2/article/details/84774751</guid><author>Drinkjava2</author><pubDate>Sun, 03 Apr 2016 20:09:06 +0800</pubDate><description><![CDATA[这是十几年前的一些想法，现在看来有些已过时，有些成了预言。
很不习惯带着脚镣跳舞，时间长了会形成条件反射怎么办。

1.人还会进化吗？
2.什么是生命？
3.什么是我？
4.共主义不可能实现？
5.人长生不死的唯一途径？
6.人造不出比自已更聪明的机器？
7.作为创造者，人是不会让聪明的机器夺得统治权的？
8.A之后是B
9.人=物质+人脑神经网络构成方式
10. 生命进化...]]></description><category></category></item><item><title><![CDATA[关于人工智能的一些幻想]]></title><link>https://blog.youkuaiyun.com/Drinkjava2/article/details/84774749</link><guid>https://blog.youkuaiyun.com/Drinkjava2/article/details/84774749</guid><author>Drinkjava2</author><pubDate>Sun, 03 Apr 2016 19:57:45 +0800</pubDate><description><![CDATA[理论太枯燥了，以下是我平时的一些科幻构思,全是与人工生命有关的，因本人文笔太差，只能给出个草草的框架 (注:前三个构思曾发表在96年第二期的科幻世界上)。 

☆绑架
当生命可能以信息方式传递，队长带人在地底打算拦截敌方将领的中微子波，以实现绑架其之目的，但接收器坏了，最后队长决定用自已的大脑来接收这个信息，于是，当信号被拦截后，队长就变成了敌人的将领......
(自评：这算是生命复制的...]]></description><category></category></item><item><title><![CDATA[人类还会进化吗?-谈机器智能发展前景]]></title><link>https://blog.youkuaiyun.com/Drinkjava2/article/details/84774744</link><guid>https://blog.youkuaiyun.com/Drinkjava2/article/details/84774744</guid><author>Drinkjava2</author><pubDate>Sun, 03 Apr 2016 19:52:44 +0800</pubDate><description><![CDATA[这是二十年前寄给科学院的一篇旧文，大家可以对比看看，关于人工智能，二十年前的人和现在的人是怎么想的。原稿扫描存在造人论坛上。

人类还会进化吗?-谈机器智能发展前景

近年来,随着机算机技术的迅速发展,神经网络、系统论、控制论、非线性理论以及认知科学不断取得突破性进展，使得人们对生命现象的研究进入了一个前所未有的阶段。但是，对于“生命的本质是什么”、“生命的发展有没有最终目标?”、“人类作...]]></description><category></category></item><item><title><![CDATA[意识的本质和一个人工脑模型]]></title><link>https://blog.youkuaiyun.com/Drinkjava2/article/details/84774735</link><guid>https://blog.youkuaiyun.com/Drinkjava2/article/details/84774735</guid><author>Drinkjava2</author><pubDate>Sun, 03 Apr 2016 19:40:58 +0800</pubDate><description><![CDATA[主要是关于人工智能的一些想法，有些其它内容见我的个人主页www.zhangrex.com(国内上不了)，所以写一些文字重新在这里发一遍。
很久没关心人工智能，本站重开也是因有感于最近人工智能的进展，摩尔定律发威，使得奇点已不再是个遥远的梦。下一个竞赛焦点即将是第一个人脑（或第一个高度智能的动物脑）的实现。我在02年提出来的&quot;人工脑模型&quot;(与深度学习的分层有点类似，但是整体性更强一些，思维的本质是...]]></description><category></category></item><item><title><![CDATA[单文件实现IOC/AOP功能，jBeanBox项目第一版发布]]></title><link>https://blog.youkuaiyun.com/Drinkjava2/article/details/84767759</link><guid>https://blog.youkuaiyun.com/Drinkjava2/article/details/84767759</guid><author>Drinkjava2</author><pubDate>Tue, 01 Mar 2016 19:19:35 +0800</pubDate><description><![CDATA[jBeanBox第一版终于完成了，已更新到项目目录https://sourceforge.net/projects/jbeanbox/ 下，有兴趣的可以看一看。
这个项目的主要特点：
1）简单，只用一个Java文件实现了IOC/AOP功能，源码不到350行，由此可见实现IOC/AOP实际上很简单。
2) 用Java类代替XML作为配置文件，Java作为配置文件的主要优点是IDE支持类名检查、...]]></description><category></category></item></channel></rss>