
JAVA
文章平均质量分 78
shu_lin
成长的路上,脚踏实地,一步步前进...
展开
-
微信公众平台开发(数据库连接)
关于微信公众平台确实是个很好的东西,鉴于需要完成这样一个作业花了2天时间来研究这个,做出了一个简单的东西。 我们选择的语言是JAVA(当然PHP开发这个更简单,不过我没学,考虑时间成本而继续用自己熟悉的),所用的服务器是SAE(BAE也可以),以及一个微信公众平台测试账号。http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=san原创 2014-05-07 19:26:06 · 16805 阅读 · 1 评论 -
Excel导出公共组件设计
自己动手实现一个Excel导出公共组建!!!!文章主要分为以下几个部分来说明:1、明确目标2、技术预研3、技术方案选型与方案设计4、技术实施下面是实现一个Excel导出模块的目标:通过自定义注解解析需要导出的Excel格式支持自定义日期显示格式支持是否显示自增列支持约定的属性的枚举转换(比如YWG->已原创 2017-03-16 10:11:22 · 5016 阅读 · 3 评论 -
MAVEN创建多模块项目(水平与树形结构)
很久没有写过博客了,很多东西都在笔记里面,没有整理过。不太喜欢写没有经过自己消化和整理的知识,如果自己都没有搞明白,那还是不要写的好,免得误导其他同学。这次写的内容主要就是使用MAVEN创建多模块的web项目,之前写过一个SSM整合的博客,也是MAVEN创建的WEB项目,里面的web/dao/service层使用的是package来隔离的,而企业级开发一般不是这么做的,我们会将不同职能的模块使原创 2016-11-01 23:09:08 · 13573 阅读 · 1 评论 -
JVM-垃圾收集器
通过学习了解到现在商用的JVM中的垃圾收集采用的是分带收集算法,那么针对不同年代采用了不同的收集算法,从而在JVM发展的过程中,就产生了不同的垃圾收集器,一般分为新生代收集器和老年代收集器,两者相互组合进行GC操作(下图中相连的垃圾收集器表示可以相互组合,注意Serial Old和CMS也可以联合进行老年代的垃圾收集)。JDK6u14中开始测试的G1垃圾收集器,正式发布于JDK7u4中,是目前唯一原创 2016-01-31 15:25:18 · 5441 阅读 · 3 评论 -
JAVA并发编程-线程间协作(Object监视器方法与Condition)
JAVA并发编程第一篇 说到线程间协作,不得不提到经典的生产者与消费者模型:有一个商品队列,生产者想队列中添加商品,消费者取出队列中的商品;显然,如果队列为空,消费者应该等待生产者产生商品才能消费;如果队列满了,生产者需要等待消费者消费之后才能生产商品。队列就是这个模型中的临界资源,当队列为空时,而消费者获得了该对象的锁,如果不释放,那么生产者无法获得对象锁,而消费者无法消费对象原创 2016-02-29 22:11:12 · 6088 阅读 · 1 评论 -
JVM-JAVA对象的访问
JAVA中对象的访问 JAVA是面向对象的语言,那么在JAVA虚拟机中,存在非常多的对象,对象访问是无处不在的。即时是最简单的访问,也会涉及到JAVA栈、JAVA堆、方法去这三个非常重要的内存区域之间的关联关系。 比如: Object obj = new Object(); 其中,“Object obj”这部分语义作为一个reference类型数据出现,原创 2016-01-03 17:05:23 · 4682 阅读 · 0 评论 -
JVM-内存模型
本篇其实就是一个读书笔记,书是《深入理解JAVA虚拟机》,在网上搜索JAVA内存,说的比较好的其实很多都源自这本书,作为一个JAVA程序员,理解虚拟机是通向高级程序员的必经道路。本篇中的图片源自当时网上,具体出处找不到了,请见谅。所谓的线程安全,其实就是不同线程对同一个资源的访问和修改引发的数据不一致问题。对于线程安全的理解,需要了解JVM中的内原创 2015-12-23 21:59:53 · 5465 阅读 · 3 评论 -
JVM-OutOfMemory异常重现
JVM中常见的OOM,那么如何通过自己编写代码产生这些OOM异常呢?通过写代码重现异常,是为了避免在工作中写出有OOM BUG的代码。之前虽然看过相关文章,但是没自己写过这些代码,这次在编写的实际过程中,由于和书本使用的JDK版本不一致,也会有点问题。其中印象最深刻的就是从JDK1.7开始常量池就已经不放在方法区了,而是改到了JAVA堆中,所以《深入理解JAVA虚拟机》中的有些知识也需要更新了。下面的代码基于JDK1.7来的。并且在运行程序的时候需要设置JVM参数,如果不设置,轻则需要等待很长时间才会出现异原创 2016-01-23 21:18:44 · 4089 阅读 · 0 评论 -
JVM-GC设计思路分析
JAVA中将内存的控制交给JVM来实现,方便了JAVA程序猿,当然牺牲了一部分效率,不过总体来看是值得的。那么JVM中是如何设计GC的呢,本文从几个问题入手,然后分析了一下设计思路,如果有理解错误的地方,请批评指正!主要参考了《深入理解JAVA虚拟机》这本书,图是盗来的,图的内容和书上一样。 在JVM的内存模型中,堆内存是JAVA内存区域中最大的一部分,GC主要就是发生在堆中,用来回收那原创 2016-01-25 23:20:44 · 4443 阅读 · 1 评论 -
表的内连接、外连接(左连接与右连接)
听同学说有校招笔试考到这个概念,一般没有专门学习数据库的话对这个都不是很了解,但是其实很简单,看到一篇博客对这个概念解释的很清楚,故而转载。 有两个表A和表B。 表A结构如下: Aid:int;标识种子,主键,自增ID Aname:varchar 数据情况,即用select * from A出来的记录情况如下图1所示:转载 2015-09-15 09:37:18 · 11786 阅读 · 0 评论 -
JAVA代码效率优化
最近在想自己编程时是否注意过代码的效率问题,得出的答案是:没有。代码只是实现了功能,至于效率高不高没怎么关注,这应该是JAVA程序员进阶的时候需要考虑的问题,不再是单纯的实现功能,也不是完全依赖GC而不关注内存中发生了什么,而要考虑到代码的性能。下面是网上找的一篇关于JAVA代码优化的文章,觉得不错,就转载了。这里面设计到了JAVA基础和J2EE方面的优化建议,有时间会整理一下,现在先转载。转载 2015-01-04 13:54:46 · 3584 阅读 · 0 评论 -
FastJson生成和解析JSON数据
生成和解析JSON数据格式的包有很多种:Gson、json-smart、FastJson、jackjson等,FastJson是一个阿里巴巴的大神开发的开源的Json处理工具包,包括“序列化”和“反序列化”两部分,号称最快。但是我认为没有最快,只有更快,只要这个功能满足我的需求,速度不错就行了,这就是我选择工具的基本标准(不是特别追求性能...)。 FastJson功能强大,完全支持Ja原创 2014-12-04 17:56:25 · 8885 阅读 · 0 评论 -
socket编程——局域网聊天
这是前段时间写的一个局域网多对多聊天系统,使用socket编程和TCP/IP协议进行数据传输。总体就两个部分,一个是客户端,还有一个是服务器端。其实这个系统编写起来还是很容易的。我这个小程序的亮点就在于:1、有一个登陆界面;2、登陆之后进入聊天界面后会有一个服务器的欢迎语句。在这里给出程序的源代码。package org.zsl.server;//服务器部分import原创 2014-01-01 19:07:25 · 3386 阅读 · 0 评论 -
宿舍管理系统
以前学完JAVA SE之后做的一个系统。 系统的设计目标:1、有一个登陆界面,当输入正确的密码后进入主界面,如果密码错误则提示用户重新输入。2、数据使用数据库来管理(本例中使用的是MYSQL5.0)3、实现数据的增、删、改、查(支持模糊查询)的基本操作 目前的版本就是这样,但是我想以后对这个系统进行进一步的改进设计,比如宿舍类型、性别、宿舍编原创 2014-01-01 15:08:18 · 7261 阅读 · 4 评论 -
浅析JAVA抽象类和接口的比较
抽象类(abstract class)和接口(interface)是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。抽象类和接口之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于抽象类和接口的选择显得比较随意。其实,两者之间还是有很大的区别的,对于它们的选择甚至反映出对于问题领域本质的转载 2014-04-15 15:39:30 · 2588 阅读 · 0 评论 -
Log4j配置详解
来自: http://www.blogjava.net/zJun/archive/2006/06/28/55511.htmlLog4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。1. 配置文件Log4J配置文件的基本格式如下:转载 2014-07-18 21:07:54 · 65520 阅读 · 11 评论