- 博客(21)
- 资源 (7)
- 收藏
- 关注
原创 谈谈技术、业务与交接
最近大量交接,有感而发。 学霸级新人满腹经纶,与资深工程师的区别是什么? 做业务是否就荒废了技术,是否技术研究越深入就能创造更大价值? 整天忙于处理手上交接的系统,处理各种bug,是否技术就没有长进了? 作为一名多年业务一线的开发,在我看来除了极少公司和公司内的极少数岗位不需要懂得太多复杂业务外,大部分程序员每天都会和很多的业务逻辑打交道。 程序猿如果不懂业务,会一直被牵着鼻...
2018-05-22 09:22:45 800
原创 Java内存构成及垃圾回收
Java内存构成及垃圾回收摘要 1 java虚拟机运行时内存构成 2 2.1 JVM运行时内存构成 2 2.2 JVM内存溢出 2 Java垃圾收集算法 3 3.1 常用垃圾收集算法 3 3.2 分代垃圾收集流程及JVM策略 3 3.3 常用垃圾收集器及优缺点 4 Serial收集器: 4 ParNew收集器: 5 Parallel Scavenge收集...
2018-04-24 20:14:17 226
原创 java异常本质论
(1)对java异常的本质是什么? Java异常主要处理编译器不能捕获的错误,使得程序在运行时出现问题的情况下能够继续下去,而不导致程序终止,确保程序的健壮性。 处理过程:产生异常时,如果当前的context不具备处理当前异常的能力,将在heap上new一个异常对象,停止当前的执行线路,将产生的异常对象 抛给更上层的context。(2)java异常的继承体系是?常见java
2018-01-07 22:37:10 543
原创 类的初始化
在创建对象时,虚拟机会为对象分配存储空间,并调用相应的构造器进行初始化工作,构造器选择(缺省构造器:在没有显示定义构造器时使用缺省构造器,显示定义并使用了该构造器则调用对应指定构造器)。 对象创建过程(1)定位class文件,加载文件,首次加载,静态初始化工作执行一遍,且只执行一次,构造函数是一个特殊的static方法(2)基类构造器,如果基类还有基类,递归到最顶层,到ob
2018-01-07 20:20:03 189
原创 Java多态的本质
Parent类有方法a,ChildA childB都有方法a, 一个逻辑在调Parent类型的a方法时,传入ChildA实例和ChildB实例都是可以运行的,这称为Java的多态机制。这是如何做到的呢? OO的设计诀窍:Javac编译器不产生传统意义上的函数调用。传统编译器会产生【前期绑定】,即编译器在编译阶段将产生对一个具体函数名字的调用,而运行时将这个调用解析到要被执行的代码
2018-01-07 15:19:34 1335
原创 Java中使用脚本执行易变业务逻辑
Java在富业务逻辑场景中的优势是显而易见的,但有时在做逻辑开发时,常常会遇到某一个算法不确定,或是时长改变的情形。有时系统上线一段时间后,突然要修改某个节点的算法了,这时不得不重新build并发布整个项目。而若果内在系统运行时修改某些逻辑,是不是会省事很多呢。Java是编译+解释型的语言,修改后必须重新发布才行,而脚本语言(Javascrpt python groovy php)是解释型语言,随
2013-12-30 17:20:44 1100
原创 Java使用内省机制复制对象信息
在业务开发中,常会遇到如下情形:要根据持久化获得的bean信息A,构造一个新的bean-B,B需要A中的大多数属性信息,但根据业务需要修改部分属性信息,如果将A的引用直接复制给B的话,就会丢失旧有的数据,此时可以通过clone完成,但clone需要修改bean类,而且偶尔的业务需求导致类重新定义,可以视为代码污染,此时可以通过java的内省机制来实现对象间属性的复制 内省是Jav
2013-12-30 16:26:03 863
转载 汉字转拼音开源工具-pinyin4j
图片、视频等资源文件的指向地址在开发中一般不会出现汉字,而从易用性角度考虑,汉字给然的感觉是简洁、直观,因此,在开发中一般用汉字保存资源名称,而用拼音数字等表示资源地址,数字的区分度不如拼音。而在批量操作时,手动写拼音对开发者来说无疑是一个天灾,繁重的工作量不说,手误从概率上将肯定是有的。最近在做类似的项目,从网上搜了下相关的开源工具,其中pinyin4j比较容易上手,主要通过PinyinHe
2013-07-15 20:05:06 938
原创 Jsoup-简单优雅的HTML dom解析工具
最近在做一个项目,需要在线从官网上下载选手的图片、名称信息,即做一个简易的网络爬虫,实时抓取最新官网选手数据。在网上搜了很多开源工具,一开始试的是webharvest,搞了一个上午,终于被其奇怪的配置文件搞怕了,我就是想链接下载一个在线的HTML页面,然后解析其DOM元素,没有更好的工具吗?终于,在google上找到了Jsoup,其官网上的demo神奇的只有两句话Document doc
2013-07-15 19:19:04 1935 1
转载 Java中hashcode的理解
原文链接http://blog.csdn.net/chinayuan/article/details/3345559============================================================如何理解hashCode的作用:============================================================
2012-12-20 13:52:34 489
转载 java的HashCode方法
有许多人学了很长时间的Java,但一直不明白hashCode方法的作用, 我来解释一下吧。首先,想要明白hashCode的作用,你必须要先知道Java中的集合。 总的来说,Java中的集合(Collection)有两类,一类是List,再有一类是Set。 你知道它们的区别吗?前者集合内的元素是有序的,元素可以重复;后者元素无序,但元素不可重复。 那么这里就有一个比较严重的问题了
2012-12-20 13:51:02 394
转载 Extjs 实现动态添加gridPanel的列和数据
最近几天在我们的.net项目中有一个单据要实现根据用户选择条件动态添加gridPanel的对应列和数据。以前的页面及数据实现是在页面上直接显示gridPanel控件,并对应一个store。数据则在cs中赋值。这次则改在js中创建gridPanel对象,render到页面。store用jsonReader,所以数据格式应为json的。大致步骤是:页面通过js请求到handler,获取数据(j
2012-08-30 16:22:00 3993
转载 extjs 改变store默认的url
grid.getStore().proxy = new Ext.data.HttpProxy( { url : 'userList.action' }); grid.getStore().reload( { params : { start : 0, limit : 25, name : name } });
2012-08-30 16:21:09 614
转载 用户权限管理
实现业务系统中的用户权限管理--设计篇 B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端+服务器检测实现,而B/S中,浏览器是每一台计算机都已具备的,如果不建立一个完整的权限检测,那么一个“非法用户”很可能就能通过浏览器轻易访问到B/S系统中的所有功能。因此B/S业务系统都需要有一个或多个权限系统来实现访问权限
2012-08-14 13:06:02 518
原创 JavaEE开发中MySql乱码解决方案
近日,笔者拷贝了一个框架到本机,部署过程中遇到了MySql乱码问题。1、导入sql语句后,进入系统有中文乱码,此时首先要查看导入的sql文件是否已经是乱码,笔者将sql文件用txt打开后确实是乱码,数据库已经是乱码,在界面中看到的当然也是乱码,用其他文本工具(UltraEdit等)以非乱码打开后,再导入sql,确保数据库中不是乱码,在页面中查看应该页不是乱码了。2、前台页面存入数据库是乱码
2012-08-13 12:45:25 773
原创 Hibernate3整合JPA注释出现的问题
作为JAVAEE中的常用ORM框架,Hibernate给众多开发者带来了极大的便利,但令人头疼的是其配置及其复杂,尤其在业务量大的系统中,虽然可以通过一些自动工具来创建配置文件,但大量的文件充斥于项目中,使得整个文件架构显得丑陋。在看李刚老师的JAVAEE书时,看到JPA Annotation是个不错的东西,而且Hibernate3对JAP Annotation由良好的支持,于是用Hibern
2012-08-09 08:41:23 729
原创 Redhat Enterprise Linux 6.3 下安装mysql
一、安装mysql1、 从rhel安装光盘中拷贝mysql相关安装包,包括mysql-server-5.1.61-4.el6.i686.rpm、mysql-5.1.61-4.el6.i686.rpm,到software目录,并依次安装。2、 安装完成后,mysql的datadir路径在/var/lib/mysql,在该目录下将存放mysql的数据文件,mysql的配置信息在/etc/m
2012-07-30 18:45:43 3318 4
原创 Redhat Enterprise Linux 6.3 下安装tomcat
一、安装tomcat1、将apache-tomcat-6.0.35.tar.gz通过tftp拷贝到 /usr 目录下2、执行 tar xvf apache-tomcat-6.0.35.tar.gz得到文件夹apache-tomcat-6.0.35, 为简化命令,修改文件夹名 mvapache-tomcat-6.0.35 apache-tomcat3、在 /etc/pr
2012-07-30 18:44:50 1248
原创 Redhat Enterprise Linux 6.3 下安装jdk1.6.0_30
公司要求在linux环境下搭建javaWeb服务器,通过几天的摸索,在往上搜集了大把资料,终于把jdk、tomcat、mysql数据库装好了。本文将在此过程中遇到的问题总结如下。一、jdk安装步骤:1、准备工作:考虑到在电脑中直接装rhel有点风险,笔者是通过vmware虚拟机安装rhel6.3的。在这里要注意下rhel6.3要求的vm版本比较高,我用的是vm8.0.3,如果版本低的话
2012-07-30 18:43:55 2428
原创 SQL语句实现定制化查询
最近在看一本讲技术的书,讲到sql时,有一个比较有趣的例子,在数据库中的material表存储格式如下,mclass是材料类型,mdosage是材料用量Id mclass mdosage1 A 662 B 563 C 464 D 365 E 26现在想查询出如下形式的结果Id A
2011-12-18 22:14:38 1950
原创 Ext + jxl + struts 实现Excel导入导出(一)
前段时间,项目要求加一个Excel导入导出的功能,要求对导出的Excel文件编辑后,能够重新导入并保存,一开始用的是直接将response设置为返回excel格式,但在导入时提示出错。在网上查了一下,原来直接导出的excel文件还是网页模式的,而非真正的excel,需要将修改后的excel文件另存为一个excel文件后才能正常导入,这当然是一个非常不友好的缺陷。 网上大牛真是多,有人说jx
2011-11-27 20:02:58 1762
石大在线财务管理系统(含源码)
2007-07-10
基于web的酒店管理系统
2007-07-10
漂亮的企业网站管理系统 V2.3
2007-07-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人