![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
iteye_13629
这个作者很懒,什么都没留下…
展开
-
Java中IO流知识点总结
一、流的分类 1、按功能分 读取流:InputStream Reader 写出流:OutPutStream Writer 2、按流的类型分类 字节流:InputStream OutputStream 字符流:Reader Writer 二、流功能分析 读取流是从输入设备或数据对象中读取数据到程序,用程序进行处理读入的数据,写出流是把程序处理...2014-05-02 19:33:48 · 122 阅读 · 0 评论 -
项目经理叫你改Bug,后来就发生了……
你曾经碰到过现在这种情况:你的代码非常优雅。你代码中的抽象刚刚好,不多不少。你的模块都各自独立。所有的测试结果都是绿色的。代码测试覆盖率报告花了整整一分钟才打开,上面显示着 97%……生活很美好。然后事情就这么发生了。一个 PM(产品经理)跑进来,跟你说上周你发布的那个更新里面有个 bug。不论什么时候,只要用户在购物车里添加了一...2016-09-20 09:05:37 · 352 阅读 · 0 评论 -
大话程序猿眼里的高并发
高并发是指在同一个时间点,有很多用户同时的访问URL地址,比如:淘宝的双11,双12,就会产生高并发,如贴吧的爆吧,就是恶意的高并发请求,也就是DDOS攻击,再屌丝点的说法就像玩撸啊撸被ADC暴击了一样,那伤害你懂得(如果你看懂了,这个说法说明是正在奔向人生巅峰的屌丝。高并发会来带的后果服务端:导致站点服务器/DB服务器资源被占满崩溃,数据的存储和更新结果和理想的设计是不一样的,...2016-11-08 09:49:53 · 229 阅读 · 0 评论 -
正则表达式里字符串”不包含”匹配技巧
经常我们会遇到想找出不包含某个字符串的文本,程序员最容易想到的是在正则表达式里使用,^(hede)来过滤”hede”字串,但这种写法是错误的。我们可以这样写:[^hede],但这样的正则表达式完全是另外一个意思,它的意思是字符串里不能包含‘h’,‘e’,‘d’三个但字符。那什么样的正则表达式能过滤出不包含完整“hello”字串的信息呢? 事实上,说正则表达式里不支持逆向匹配并不是百分...2014-07-16 08:37:29 · 151 阅读 · 0 评论 -
java定时任务类Timer和TimerTask用法
java定时任务类Timer和TimerTask用法详解/** 本类给出了使用Timer和TimerTaske的主要方法,其中包括定制任务,添加任务* 退出任务,退出定时器.* 因为TimerTask的status域是包级可访问的,所以没有办法在java.util.包外* 得到其状态,这对编程造成一些不便 .我们不能判断某个Task的状态了.*/public cl...2014-07-25 16:09:09 · 134 阅读 · 0 评论 -
Java访问控制权限
Java的访问控制权限相比于C++等语言可能稍微复杂一点,不过也不难理解。Java的访问控制权限分为两块——“类或接口的访问控制权限”与“变量和方法的访问控制权限”。 1.类或接口的访问控制权限 类或接口的访问控制权限是指能不能用该类建立对象,接口能不能被实现等等。能够修饰类或接口的访问控制权限的修饰符(modifier)只有两个—— public和friendly.不过,值得一...2014-07-28 11:03:50 · 95 阅读 · 0 评论 -
Spring 数据库连接整理
1、数据库连接jdbc.properties配置详解 jdbc.url=jdbc:hsqldb:hsql://localhost/xdb jdbc.username=sa jdbc.password= jdbc.driver=不同的数据库厂商驱动,此处不一一列举 接下来,详细配置代码如下: Spring连接池 <beans><...2014-07-29 13:48:50 · 61 阅读 · 0 评论 -
经典的Java基础面试题集锦
问题:如果main方法被声明为private会怎样?答案:能正常编译,但运行的时候会提示”main方法不是public的”。 问题:Java里的传引用和传值的区别是什么?答案:传引用是指传递的是地址而不是值本身,传值则是传递值的一份拷贝。 问题:如果要重写一个对象的equals方法,还要考虑什么?答案:hashCode。 问题:Java的”一次编写,处处运行”...2014-08-21 15:55:44 · 166 阅读 · 0 评论 -
Java使用Apache POI操作excel文件
从官方文档中了解到:POI提供的HSSF包用于操作 Excel '97(-2007)的.xls文件,而XSSF包则用于操作Excel2007之后的.xslx文件。 需要的jar包 POI官网上下载包并解压获取java操作excel文件必须的jar包: 其中dom4j-1.6.1.jar和xbean.jar(下载地址:http://mirror.bjtu.edu.cn/...2014-09-05 23:22:14 · 103 阅读 · 0 评论 -
Oracle的优化原理
先说明一下,ORACLE有一个优化器(Optimizer),ORACLE的优化机理就是从Optimizer开始的。 明确两个概念:Optimizer 对ORACLE的优化方式有两种,一种是基于规则的,我们称为RBO(Rule-Based Optimization),一种是基于代价的CBO(Cost-Based Optimization),我们从字面就可基本理解这两个优化方式的含义,不错,RB...2014-06-25 14:19:16 · 70 阅读 · 0 评论 -
程序员持续学习之道
我其实是一个悲观主义者,从开始成为一名程序员的那一天开始,我就对自己的职业充满着担忧。早期,我担忧的是我刚进入这一行,落后身边从事这一行多年的人 太多,跟他们比,我一开始就处于“不公平“的起跑线上;二是当我稍微深入这行后,发现技术的道路充满了歧路和死胡同,稍不留神,就将落入再也跟不上技术进 步的节奏,身边也充斥着类似的示例。 好在在这条路上,我找到了一个克服担忧的良方:学习,坚持不...2014-06-24 13:45:16 · 85 阅读 · 0 评论 -
再解Java中的String
在Java中,有一组名词经常一起出现,它们就是“对象和对象引用”,很多朋友在初学Java的时候可能经常会混淆这2个概念,觉得它们是一回事,事实上则不然。今天我们就来一起了解一下对象和对象引用之间的区别和联系。 1.何谓对象? 在Java中有一句比较流行的话,叫做“万物皆对象”,这是Java语言设计之初的理念之一。要理解什么是对象,需要跟类一起结合起来理解。下面这段话引自《Java...2014-05-08 13:53:57 · 89 阅读 · 0 评论 -
使Eclipse符合Java编程规范
编程规范是很重要的东西,能让团队的代码易于阅读和维护,也便于日后的功能扩展。 工欲善其事必先利其器!作为一个Java程序员,与Eclipse打交道可能是一辈子的事情。将Eclipse设置为符合公司编程规范的模式,将节省我们很多时间。 使用Eclipse的都知道 Ctrl + F 这个快捷键的作用,就是自动将书写的代码排版,变得易于阅读。 刚进入公司的时候,老程序员告诉我,不...2014-05-12 19:53:04 · 111 阅读 · 0 评论 -
Java的三种编译方式
通常Java有三种编译方式,编译方式不同,那么得到的.class的大小也不同。 1)默认编译方式:javac A.java 2) 调试编译方式:javac -g A.java 3) 代码编译方式:javac -g:none A.java 案例如下:类Apublic class A{public static void main(String arg...2014-05-15 22:31:00 · 164 阅读 · 0 评论 -
如何写出更好的Java代码
编码风格传统的Java编码方式是非常啰嗦的企业级JavaBean的风格。新的风格更简洁准确,对眼睛也更好。结构体我们这些码农干的最简单的事情就是传递数据了。传统的方式就是定义一个JavaBean:public class DataHolder { private String data; public DataHolder() { }...2014-05-21 22:41:45 · 87 阅读 · 0 评论 -
Java中HashMap和TreeMap的区别深入理解
首先介绍一下什么是Map。在数组中我们是通过数组下标来对其内容索引的,而在Map中我们通过对象来对对象进行索引,用来索引的对象叫做key,其对应的对象叫做value。这就是我们平时说的键值对。 HashMap通过hashcode对其内容进行快速查找,而 TreeMap中所有的元素都保持着某种固定的顺序,如果你需要得到一个有序的结果你就应该使用TreeMap(HashMap中元素的排列顺序是...2014-05-26 23:24:35 · 66 阅读 · 0 评论 -
Java程序员常犯的10个错误
#1. 把Array转化成ArrayList把Array转化成ArrayList,程序员经常用以下方法:List<String> list = Arrays.asList(arr);Arrays.asList() 实际上返回一个ArrayList,但是这个ArrayList是Arrays的一个内部私有类,而不是java.util.ArrayList类...2014-05-30 07:11:52 · 62 阅读 · 0 评论 -
关系数据库规范化总结
最近本人在准备软考,所以不得不拿起大一大二时的书本,再次复习一遍。在做软考的试题中遇到了几个常遇到的问题,在这里就讨论一下关系型数据库规范化的问题。关系型数据库设计的理论核心是数据间的函数依赖问题,衡量的标准是关系规范化的程度及分解的无损连接和保持函数的依赖性。函数依赖是最重要的数据依赖。函数依赖又可分为一下几种情况。 1)非平凡的函数依赖 如果X->Y,但是Y不属于X,那么称...2014-06-04 21:11:05 · 188 阅读 · 0 评论 -
Java中RMI远程调用
Java远程方法调用,即Java RMI(Java Remote Method Invocation)是Java编程语言里,一种用于实现远程过程调用的应用程序编程接口。它使客户机上运行的程序可以调用远程服务器上的对象。远程方法调用特性使Java编程人员能够在网络环境中分布操作。RMI全部的宗旨就是尽可能简化远程接口对象的使用。 Java RMI极大地依赖于接口。在需要创建一个远程对象的时...2014-06-08 13:54:58 · 270 阅读 · 0 评论 -
有关编程的12个猜想
1. GPU接班CPU 游戏玩家们热衷于吹嘘自己的显卡有多快多高端,全开特效有多少多少FPS,而事实上GPU前进的步伐不会仅限于此。物理学家利用GPU来进行高速微观分析,航天学家利用GPU来模拟天体运动,生物学家利用GPU来研究生物种群规律。未来的编译器应可直接运作于GPU,摆脱对CPU的依赖,使得GPU的使用更加普遍。 2. 数据库能进行更复杂的数据分析 将来数据库能做更多...2014-10-07 12:41:47 · 62 阅读 · 0 评论 -
显示数据库查询耗时,改善开发者习惯
很多原因都可能导致网站运行缓慢,但这其中最常见的就是在数据库查询耗时太多。目前,数据库查询可能在网页渲染过程中起着很重要的作用(网页上的内容总得从某处获取),但是有时候 一些不必要的亦或没有优化好的查询会影响网页渲染的速度。 例如: 查询的数据根本没有被使用 查询时未使用索引 单次查询可以实现的功能却做了多次查询 慢且复杂的查询 然而有一个简单的机制可以间接...2014-10-18 11:08:17 · 87 阅读 · 0 评论 -
又好又快,免费学习编程的9个地方
编程不再是超级极客的独家专利,即使你只是一个销售员、驾驶员或者是一个商人,都可以学着去编程,因为这是一项技能,就像英语也是一个交流技能一样,很有价值的,而且会编程的人看上去都很屌炸天哦!学会了编程,这些都是小case:使用HTML来调整一些混乱的文本段落。即使是懂一丁点HTML知识,也可以帮助你处理繁琐的CMS。和公司的程序员交流起来也倍儿有面子。或许你根本不需要成为以一个专业的...2014-10-27 13:53:14 · 121 阅读 · 0 评论 -
Java常见内存溢出异常分析
栈溢出(StackOverflowError) 栈溢出抛出java.lang.StackOverflowError错误,出现此种情况是因为方法运行的时候栈的深度超过了虚拟机容许的最大深度所致。 出现这种情况,一般情况下是程序错误所致的,比如写了一个死递归,就有可能造成此种情况。 下面我们通过一段代码来模拟一下此种情况的内存溢出。import java.util.*; i...2015-01-20 06:15:31 · 118 阅读 · 0 评论 -
Java高效读取大文件
读取文件行的标准方式是在内存中读取,Guava 和Apache Commons IO都提供了如下所示快速读取文件行的方法: Files.readLines(new File(path), Charsets.UTF_8); FileUtils.readLines(new File(path)); 这种方法带来的问题是文件的所有行都被存放在内存中,当文件足够大时很快就会导致程序...2015-01-21 13:45:15 · 127 阅读 · 0 评论 -
为什么不允许代码里出现“魔数”
在一个新项目中,我最先做的事情之一,就是建立使用诸如Checkstyle和Findbugs之类工具的准则。目的是制定一些代码规范,以及避免通过静态代码分析就能够检测到的bug。 迟早会有人给出案例说这样太离谱了。其中的一个案例是Checkstyle的魔数检查。它会对任何没有定义常量就使用的数字字面量给出警告,除了-1、0、1和2。 很多开发者在这个检查方面都有问题,这可以从结果代...2015-01-29 10:13:32 · 1083 阅读 · 0 评论 -
最具争议的10个Java话题
1、Java8已经到来。什么!? Java8 支持lambda。哇哦,RIP Scala! 随着Java8 的发布,出现很多关于新发布的Java8是否有潜力干掉Scala的争论,最终的结论是远远没有那么简单。Java8可能已经在Scala的lambda的包围中突围,但Java并非是函数式编程王位的真正觊觎者。 2、Java 9 即将到来 Oracle早在8月份就发布了Java...2015-02-05 09:10:21 · 176 阅读 · 0 评论 -
Java进行RSA加解密的例子
加密是保证数据安全的手段之一。加密是将纯文本数据转换为难以理解的密文;解密是将密文转换回纯文本。 数据的加解密属于密码学的范畴。通常,加密和解密都需要使用一些秘密信息,这些秘密信息叫做密钥,将纯文本转为密文或者转回的时候都要用到这些密钥。 对称加密指的是发送者和接收者共用同一个密钥的加解密方法。 非对称加密(又称公钥加密)指的是需要一个私有密钥一个公开密钥,两个不同的密钥的加解...2015-02-08 09:56:20 · 132 阅读 · 0 评论 -
Java线程中yield与join方法的区别
长期以来,多线程问题颇为受到面试官的青睐。虽然我个人认为我们当中很少有人能真正获得机会开发复杂的多线程应用(在过去的七年中,我得到了一个机会),但是理解多线程对增加你的信心很有用。之前,我讨论了一个wait()和sleep()方法区别的问题,这一次,我将会讨论join()和yield()方法的区别。坦白的说,实际上我并没有用过其中任何一个方法,所以,如果你感觉有不恰当的地方,请提出讨论。 ...2015-02-21 17:53:30 · 159 阅读 · 0 评论 -
关于java堆内存溢出的几种情况
【情况一】: java.lang.OutOfMemoryError: Java heap space:这种是java堆内存不够,一个原因是真不够,另一个原因是程序中有死循环; 如果是java堆内存不够的话,可以通过调整JVM下面的配置来解决: <jvm-arg>-Xms3062m</jvm-arg> <jvm-arg>-Xmx3062m...2015-02-27 10:01:06 · 221 阅读 · 0 评论 -
Java开发者写SQL时常犯的10个错误
1、不用PreparedStatements 有意思的是,在JDBC出现了许多年后的今天,这个错误依然出现在博客、论坛和邮件列表中,即便要记住和理解它是一件很简单的事。开发者不使用PreparedStatements的原因可能有如下几个: 他们对PreparedStatements不了解 他们认为使用PreparedStatements太慢了 他们认为写PreparedS...2015-03-14 17:13:25 · 108 阅读 · 0 评论 -
成为高级程序员的10个步骤
What软件工程师的职业生涯要历经以下几个阶段:初级、中级,最后才是高级。这篇文章主要是讲如何通过 10 个步骤助你成为一名高级软件工程师。 Why得到更多的报酬!因为你的薪水会随着你水平的提高而增加提升你的职业生涯。成为了高级软件工程师之后,就可以朝着架构师、团队负责人、CTO 等职位前进历经更大的挑战。随着你的成长,各种影响力也会提高。...2015-01-17 11:09:01 · 286 阅读 · 0 评论 -
Java 9中新的货币API
JSR 354定义了一套新的Java货币API,计划会在Java 9中正式引入。本文中我们将来看一下它的参考实现:JavaMoney的当前进展。 正如我在之前那篇Java 8新的日期时间API一文中那样,本文主要也是通过一些代码来演示下新的API的用法 。 在开始之前,我想先用一段话来简短地总结一下规范定义的这套新的API的用意何在: 对许多应用而言货币价值都是一个关键的特性...2015-01-11 10:34:55 · 251 阅读 · 0 评论 -
独立开发者创业过程中会犯的14个错误
一个小小的失误当然不会立刻弄垮你公司,但是随着失误的次数越来越多,代码量越写越大,会突然冒出来一堆莫名其妙的问题,使你以前做的工作变得一文不值。 这里列出了独立开发者在创业过程中经常会犯的14个错误,以及如何能够有效的避免这些错误,祝你好运! 独立开发误区1:只关心写代码忽视其它 高质量的代码固然重要,但是编码是一项工作而不是一份生意,所以你一方面要着眼于提供最好的代码...2014-10-30 14:42:39 · 78 阅读 · 0 评论 -
Java String 十大常见问题
1.字符串比较,使用“==”还是equals()? "=="判断两个引用的是不是同一个内存地址(同一个物理对象)。 equals()判断两个字符串的值是否相等。 除非你想判断两个string引用是否同一个对象,否则应该总是使用equals()方法。 如果你了解字符串的驻留(String Interning)则会更好地理解这个问题。 2. 对于敏感信息,为何使用ch...2014-11-08 10:15:27 · 75 阅读 · 0 评论 -
程序员真正的价值
问:池老师,我是个不爱互动的人,但是您所有的文章我都看了,非常感谢您的引导,我入手了人生第一台 MBP。现在问题来了,但是找不到更合适的人解答,只能求助于您了,如果您有时间的话。问题是这样的:我有个32bit unix file(开启一个服务进程),在 Mac 上执行时错误提示是:exec format error,但是在 Linux 服务器却可以执行,为何?Mac 上有可以运行的方案吗?期待...2014-11-16 09:53:09 · 81 阅读 · 0 评论 -
Java泛型与类型擦除
“编译器会进行泛型擦除”是一个常识了(好吧,实际擦除的是参数和自变量的类型)。这个过程由“类型擦除”实现。但是并非像许多开发者认为的那样,在 <..> 符号内的东西都被擦除了。看下面这段代码:public class ClassTest {public static void main(String[] args) throws Exception {Parameteri...2014-12-01 09:00:16 · 87 阅读 · 0 评论 -
程序员在编程中遇到的奇葩弱智问题
现在收集一下: 排名不分先后,按照发言顺序来的。 1、Jquery插件一个通用函数一直报错,尤其是很明显是存在的函数,很有可能就是你没有引入jquery。。。或者版本不对2、调试半天没变化:不在同一个文件中调试。这个很可怕,我们很多时候会备份好几个项目,改完发现改错了。有个群友说的好: 在汤匙里放盐。3、配置文件中的空格,或者编码问题...2014-12-23 19:36:58 · 130 阅读 · 0 评论 -
程序员找不到开发工作的6大原因
1.我们Google了你的名字“这家伙不错”,但是当我用你的名字和电子邮件地址作了个快速搜索之后,我整个人都不好了。嗯,你有一个可爱的小博客,但是貌似已经四年没有更新了,当然这不是我关注的重点。可是貌似你的电子邮件地址别名GolDieHoRE正在网上销售《World of Warcraft gold》。好吧,这个我也不多说了,可是你的网页遍布XX广告,甚至在上面大声叫嚣“那些混球能强...2014-12-29 23:20:22 · 381 阅读 · 0 评论 -
理解Java中的弱引用
不久之前,我面试了一些求职Java高级开发工程师的应聘者。我常常会面试他们说,“你能给我介绍一些Java中得弱引用吗?”,如果面试者这样说,“嗯,是不是垃圾回收有关的?”,我就会基本满意了,我并不期待回答是一篇诘究本末的论文描述。 然而事与愿违,我很吃惊的发现,在将近20多个有着平均5年开发经验和高学历背景的应聘者中,居然只有两个人知道弱引用的存在,但是在这两个人之中只有一个人真正了解这...2014-12-31 09:38:03 · 106 阅读 · 0 评论 -
Java中有关Null的9件事
Java中的Null是什么? 正如我说过的那样,null是Java中一个很重要的概念。null设计初衷是为了表示一些缺失的东西,例如缺失的用户、资源或其他东西。但是,一年后,令人头疼的空指针异常给Java程序员带来不少的骚扰。在这份材料中,我们将学习到Java中null关键字的基本细节,并且探索一些技术来尽可能的减少null的检查以及如何避免恶心的空指针异常。 1)首先,null...2015-01-03 21:13:30 · 86 阅读 · 0 评论