
Java
iteye_20364
这个作者很懒,什么都没留下…
展开
-
Java 8中时间API初探之一
Java 8目前已经开始进入大众的视线,其中笔者在写本文之前,留意到其中Java 8预览版中将会出现新的关于日期和时间的API(遵守JSR 310规范)。在本系列文章中,将对这些新的API进行举例说明。首先在本文中,将先介绍以下几个:Instant,LocalDate,LocalTime和LocalDateTime。Instant (java.time.Instant) 可能最...2013-08-29 10:13:26 · 111 阅读 · 0 评论 -
Hibernate中load和get的区别
Hibernate中Session.load/get方法均可以根据指定的实体类和id从数据库读取记录,并返回与之对应的实体对象。其区别在于: 1.get()方法直接返回实体类,load()方法可以返回实体的代理类实例。 2.hibernate load是采用延迟机制(当lazy属性为true时) 而get不采用延迟机制(get语句马上读库) 3.找不到符合条件的数据 get方法...2013-10-09 09:08:52 · 100 阅读 · 0 评论 -
Java自动内存管理机制
Java内存区域 java虚拟机在执行java程序的过程中会把它所管理的内存划分成很多个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则是依赖用户线程的启动和结束而建立和销毁。Java虚拟机规范中把java虚拟机所管理的内存划分为以下几个区域。 一、程序计数器(Program Counter Register) 程序...2013-10-09 09:13:09 · 99 阅读 · 0 评论 -
Java 通过InetAddress 获得的 IP 地址数组
使用 InetAddress 获取 IP 地址会得到一个 byte 数组 如果你直接输出这个数组,你会发现 IP 地址中的某些位变成了负数 比如 61.135.169.105 会输出成 61.-121.-87.105 仔细看一看,会发现 135 + 121 = 256,169 + 87 = 256 -_-! 怎么个情况! 我首先想到的是 byte 类型向 int 类...2013-10-10 11:08:48 · 234 阅读 · 0 评论 -
程序员技术练级攻略
1、 学习一门脚本语言,例如Python/Ruby可以让你摆脱对底层语言的恐惧感,脚本语言可以让你很快开发出能用得上的小程序。实践项目:处理文本文件,或者csv (关键词 python csv, python open, python sys) 读一个本地文件,逐行处理(例如 word count,或者处理log)遍历本地文件系统 (sys, os, path),例如写一个程序统计...2013-11-16 17:27:01 · 112 阅读 · 0 评论 -
Java实现字符串的匹配
假设我们有一个一定个数的字母组成字串,我给每个字母分配一个素数,从2开始,往后类推。这样A将会是2,B将会是3,C将会是5,等等。现在我遍历第一个字串,把每个字母代表的素数相乘。你最终会得到一个很大的整数,对吧? 然后——轮询第二个字符串,用每个字母除它。如果除的结果有余数,这说明有不匹配的字母。如果整个过程中没有余数,你应该知道它是第一个字串恰好的子集了。 思路总结如下: ...2013-11-28 11:31:51 · 191 阅读 · 0 评论 -
编程面试的10大算法概念汇总
以下是在编程面试中排名前10的算法相关的概念,我会通过一些简单的例子来阐述这些概念。由于完全掌握这些概念需要更多的努力,因此这份列表只是作为一个介绍。本文将从Java的角度看问题,包含下面的这些概念:1. 字符串2. 链表3. 树4. 图5. 排序6. 递归 vs. 迭代7. 动态规划8. 位操作9. 概率问题10. 排列组合1. 字符串如果IDE没有代码自动补全功能,所以你应该记...2013-12-02 18:10:50 · 123 阅读 · 0 评论 -
Java程序员应了解的10个面向对象设计原则
众所周知,Java编程最基本的原则就是要追求高内聚和低耦合的解决方案和代码模块设计。查看Apache和Sun的开放源代码能帮助你发现其他Java设计原则在这些代码中的实际运用。Java Development Kit则遵循以下模式:BorderFactory类中的工厂模式、Runtime类中的单件模式。你可以通过Joshua Bloch的《Effective Java》一书来了解更多信息。我个人...2013-12-20 09:04:10 · 85 阅读 · 0 评论 -
我比我的领导差在哪 ?
说实话,想写这篇文章我半年前甚至更早就想写了。但是一直没有写,原因有很多。首先客观原因是最近我很忙,忙的手忙脚乱的。主观原因是虽然有了主题,我在考虑用什么样的形式来呈现给大家。因为经常看到很多朋友在抱怨自己的领导多么多么差。就在昨天技术部“尾牙”聚餐桌上,一个比较有威信的同事说了一番这样的话:“我发现我们公司有一个特别有意思的现象。很多公司的员工都抱怨自己的领导多么多么差,而我们公司这种言论很少...2014-02-11 22:18:54 · 188 阅读 · 0 评论 -
Tomcat运行Java Web内存溢出总结
如果JVM里运行的程序, 它的内存堆和持久存储区域的都满了,这个时候程序还想创建对象实例的话,垃圾收集器就会启动,试图释放足够的内存来创建这个对象。这个时候如果垃圾收集器 没有能力释放出足够的内存,它就会抛出OutOfMemoryError内存溢出错误。 JVM的内存管理方式: SUN的JVM是类似人类家族,也就是在一个地方创建对象,在它长期占据空间之前给它多次死亡的机会...2013-10-08 14:53:46 · 135 阅读 · 0 评论 -
你不知道的Java秘密
当应用程序性能受到损害时,大多数开发人员都惊慌失措,这在情理之中。跟踪Java应用程序瓶颈来源一直以来都是很麻烦的,因为Java虚拟机有黑盒效应,而且Java平台分析工具一贯就有缺陷。然而,随着Java5中JConsole的引入,一切都发生了改变。JConsole是一个内置Java性能分析器,可以从命令行或在GUIshell中运行。它不是完美的,但是当尖头老板来问你关于性能的问题时,用它来应...2013-10-06 11:56:28 · 123 阅读 · 0 评论 -
Java序列化和克隆
序列化Java 序列化技术可以使你将一个对象的状态写入一个Byte 流里,并且可以从其它地方把该Byte 流里的数据读出来,重新构造一个相同的对象。当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个Java对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为Java对象。把Java对象转换...2013-10-06 11:54:36 · 85 阅读 · 0 评论 -
10 个 Java 编码中微妙的最佳实践
1.牢记C++的析构函数 还记得C++中的析构函数吗?不记得了?或许你真的很幸运,因为你再也不必为删除对象后,没有及时释放内存而造成内存泄露进行调试了。我们真的应该感谢Sun和Oracle实现垃圾回收机制。 尽管如此,对于我们来说,析构函数仍然有一个很有趣的特点。它常常会让我们对以和分配内存相反的顺序释放内存的工作模式感到容易理解。同样,在JAVA代码中,当你处理如下类...2013-08-30 23:42:54 · 102 阅读 · 0 评论 -
Java 程序员容易犯的10个SQL错误
Java程序员编程时需要混合面向对象思维和一般命令式编程的方法,能否完美的将两者结合起来完全得依靠编程人员的水准:技能(任何人都能容易学会命令式编程)模式(有些人用“模式-模式”,举个例子,模式可以应用到任何地方,而且都可以归为某一类模式)心境(首先,要写个好的面向对象程序是比命令式程序难的多,你得花费一些功夫)但当Java程序员写SQL语句时,一切都不一样了。SQL是说明...2013-09-10 16:32:24 · 71 阅读 · 0 评论 -
超实用的Java数组技巧攻略
本文分享了关于Java数组最顶级的11大方法,帮助你解决工作流程问题,无论是运用在团队环境或是在私人项目中,你都可以直接拿来用! 0. 声明一个数组(Declare an array) 123String[] aArray = new String[5];String[] bArray = {"a","b","c", "d", "e...2013-09-17 08:55:30 · 89 阅读 · 0 评论 -
如何使用Spring Data JPA
在我们刚刚发布项目Spring Data JPA的第一个里程碑时,我想给你一个关于它的简要介绍.正如你所知道的,Spring framework 对于基于JPA的数据存取层提供了支持。那么 Spring Data JPA 是如何添加到Spring中的呢?回答这个问题,我想从一个数据存取组件开始。这个组件提供了一个简单的域(domain),它是用纯JPA和 Spring实现的,而且可以扩展和改进。...2013-09-23 16:52:11 · 171 阅读 · 0 评论 -
如何写出让人无法维护的代码
如何写出让人无法读懂和维护的代码,做到下面的几点就可以了:程序命名容易输入的名字。比如:Fred,asdf单字母的变量名。比如:a,b,c, x,y,z(陈皓注:如果不够用,可以考虑a1,a2,a3,a4,….)有创意地拼写错误。比如:SetPintleOpening, SetPintalClosing。这样可以让人很难搜索代码。抽象。比如:Proc...2013-09-24 15:06:06 · 450 阅读 · 0 评论 -
Final关键字对JVM类加载器的影响
当一个类中有声明为static final的变量,这样的变量对类的加载器有一定的影响,首先看看下面的例子。package com.bird.classLoad; class FinalTest{ public static final int a = 6/3; static{ Sys...2013-09-27 08:40:31 · 129 阅读 · 0 评论 -
Java的方法覆盖与变量覆盖
首先,我们看看关于重载,和覆盖(重写)的简明定义:方法重载:如果有两个方法的方法名相同,但参数不一致,哪么可以说一个方法是另一个方法的重载。方法覆盖:如果在子类中定义一个方法,其名称、返回类型及参数签名正好与父类中某个方法的名称、返回类型及参数签名相匹配,那么可以说,子类的方法覆盖了父类的方法我们重点说说覆盖问题,以如下代码为例:public class People { ...2013-09-28 09:41:10 · 268 阅读 · 0 评论 -
Java类变量和成员变量初始化过程
一、类的初始化对于类的初始化:类的初始化一般只初始化一次,类的初始化主要是初始化静态成员变量。类的编译决定了类的初始化过程。编译器生成的class文件主要对定义在源文件中的类进行了如下的更改:1) 先按照静态成员变量的定义顺序在类内部声明成员变量。2) 再按照原java类中对成员变量的初始化顺序进行初始化。一个java类和编译后的class对应的转换如下:源文件:...2013-09-28 09:42:10 · 80 阅读 · 0 评论 -
开发人员与测试人员如何对待活动中的Bug
最近部门新来的兄弟比较多,大家之前接触到的流程和规范都不一样,当然对待测试过程中产生的Bug心态也不一样,同样对我们测试组的MM们,一贯面对了熟练的活动和项目开发,面对新的面孔新的处事方式,大家都有或多或少的问题。 1、先简单介绍下大家共同面对的活动 活动开发目前大致分为:投票类、发号类、抽奖类、选秀类、调查类,我们测试组都在禅道上建立了对应的用例,有兴趣的可以去 看看,其他一些比较...2014-03-02 10:00:56 · 347 阅读 · 0 评论