Java
文章平均质量分 91
成者之剑
这个作者很懒,什么都没留下…
展开
-
char码值对应列表大全
Char("0") 为0的字符Char("1") Char("2") Char("3") Char("4") Char("5") Char("6") Char("7") 响铃Char("8") 回格Char("9") tab(水平制表符)Char("10") 换行Char("11") tab(垂直制表符)Char("12") 换页Char("13转载 2013-08-14 15:29:54 · 1283 阅读 · 0 评论 -
线程安全的理解,Java中的long与double不是线程安全的
Java虚拟机规范定义的许多规则中的一条:所有对基本类型的操作,除了某些对long类型和double类型的操作之外,都是原子级的。 目前的JVM(java虚拟机)都是将32位作为原子操作,并非64位。当线程把主存中的 long/double类型的值读到线程内存中时,可能是两次32位值的写操作,显而易见,如果几个线程同时操作,那么就可能会出现高低2个32位值出错的情况发生。 要在线程间共转载 2013-10-30 09:09:31 · 5631 阅读 · 0 评论 -
原子级操作 volatile和synchronized
一.什么是程序的原子性 举个例子:A想要从自己的帐户中转1000块钱到B的帐户里。那个从A开始转帐,到转帐结束的这一个过程,称之为一个事务。在这个事务里,要做如下操作:1. 从A的帐户中减去1000块钱。如果A的帐户原来有3000块钱,现在就变成2000块钱了。2. 在B的帐户里加1000块钱。如果B的帐户如果原来有2000块钱,现在则变成3000块钱了。如果在A的帐户已经转载 2013-10-30 09:10:39 · 1480 阅读 · 0 评论 -
java内存查看与分析
业界有很多强大的java profile的工具,比如Jporfiler,yourkit,这些收费的东西我就不想说了,想说的是,其实java自己就提供了很多内存监控的小工具,下面列举的工具只是一小部分,仔细研究下jdk的工具,还是蛮有意思的呢:) 1:gc日志输出 在jvm启动参数中加入 -XX:+PrintGC -XX:+PrintGCDetails -XX转载 2013-10-30 14:50:51 · 10826 阅读 · 1 评论 -
不是技术牛人,如何拿到国内IT巨头的Offer
不久前,byvoid面阿里星计划的面试结果截图泄漏,引起无数IT屌丝的羡慕敬仰。看看这些牛人,NOI金牌,开源社区名人,三年级开始写Basic...在跪拜之余我们不禁要想,和这些牛人比,作为绝大部分技术屌丝的同学们,是否真的与国内IT巨头遥不可及呢?当你打开这个帖子的时候,我已经默认你是此文的目标读者,也就是想进入国内一流互联网企业的非牛人应届生。你不需要拿NOI的奖,无需是开源社转载 2013-11-15 19:55:20 · 825 阅读 · 0 评论 -
Spring,hibernate,struts的面试笔试题[含答案]
Spring,hibernate,struts的面试笔试题(含答案)Hibernate的相关试题:1、Hibernate的工作原理?hibernate的初始化 读取hibernate的配置信息,创建SessionFactory。A、 创建Configeration的实例。 它的构造方法:将配置文件信息(hibernate-config.xml)读入到内存。一个Config转载 2013-11-15 22:29:52 · 1004 阅读 · 0 评论 -
JDBC
什么是JDBC?Java语言访问数据库的一种规范,是一套APIJDBC (Java Database Connectivity) API,即Java数据库编程接口,是一组标准的Java语言中的接口和类,使用这些接口和类,Java客户端程序可以访问各种不同类型的数据库。比如建立数据库连接、执行SQL语句进行数据的存取操作。 JDBC规范采用接口和实现分离的思想设计了Ja转载 2013-11-21 11:05:21 · 891 阅读 · 0 评论 -
log4j完全配置
一、前言: log4j 是一个开放源码项目,是广泛使用的以Java编写的日志记录包。由于log4j出色的表现, 当时在log4j完成时,log4j开发组织曾建议sun在jdk1.4中用log4j取代jdk1.4 的日志工具类,但当时jdk1.4已接近完成,所以sun拒绝使用log4j,当在java开发中实际使用最多的还是log4j, 人们遗忘了sun的日志工具类。转载 2013-11-21 13:22:20 · 704 阅读 · 0 评论 -
java抽取word,pdf的四种武器
1。用jacob. 其实jacob是一个bridage,连接java和com或者win32函数的一个中间件,jacob并不能直接抽取word,excel等文件,需要自己写dll哦,不过已经有为你写好的了,就是jacob的作者一并提供了。 jacob下载:http://www.matrix.org.cn/down_view.asp?id=13 下载了jacob并放到指定的转载 2013-11-21 13:24:05 · 807 阅读 · 0 评论 -
java23种设计模式与追MM
创建型模式1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:转载 2013-11-21 13:25:25 · 647 阅读 · 0 评论 -
利用java实现数据结构中常用的插入排序和快速排序算法
源程序:Data.javapackage Sort;class Data { Comparable key; Object value; public Data() { } public Data(Data data){ this.key=data.key; this.value=data.value; } pu转载 2013-11-21 13:26:24 · 739 阅读 · 0 评论 -
Java & XML学习笔记
1、需要软件 java,解析器(例如Xerces),API(例如SAX,DOM)2、SAX机制 1)解析 String xmlURI = "c:/test.xml"; String vendorParserClass = "org.apache.xerces.parsers.SAXParser"; XMLReaer reader = XMLReade转载 2013-11-21 13:27:08 · 915 阅读 · 0 评论 -
深入理解Java多态性
看过一些关于Java多态性的文章,参考了很多人的理解,加入了一些自己的看法,整理出来供大家参考,不一定完全正确,欢迎大家批评指正。(一)相关类class A ...{ public String show(D obj)...{ return ("A and D"); } public String show(A obj)...{ ret转载 2013-11-21 13:07:40 · 1200 阅读 · 0 评论 -
请别再拿“String s = new String("xyz");创建了多少个String实例”来面试了吧
这帖是用来回复高级语言虚拟机圈子里的一个问题,一道Java笔试题的。 本来因为见得太多已经吐槽无力,但这次实在忍不住了就又爆发了一把。写得太长干脆单独开了一帖。 顺带广告:对JVM感兴趣的同学们同志们请多多支持高级语言虚拟机圈子 以下是回复内容。文中的“楼主”是针对原问题帖而言。 ============================================转载 2013-11-23 12:52:23 · 1414 阅读 · 3 评论 -
JAVA的String 类详解
1、String对象的初始化由于String对象特别常用,所以在对String对象进行初始化时,Java提供了一种简化的特殊语法,格式如下: String s = “abc”; s = “Java语言”; 其实按照面向对象的转载 2013-07-25 22:35:40 · 789 阅读 · 0 评论 -
java 访问修饰符
此题考察修饰符,函数定义等,故从网上搜罗了下相关资料,总结如下: 类、方法、成员变量和局部变量的可用修饰符修饰符类成员访求构造方法成员变量局部变量abstract(抽象的)√√--原创 2013-11-14 21:24:07 · 1220 阅读 · 0 评论 -
深入JVM的Class文件结构
Class文件由顺序的8位字节为基础单位构成的二进制流。各个项目严格按照顺序紧凑排列,无分隔符。需要用8位字节以上空间数据项时按照高位在前分割成若干个8位字节存储。只包含2种数据类型:无符号数表无符号数是class文件基本数据类型,以u1,u2,u4,u8分别代表1个字节,2个,4个,8个字节的无符号数。可以用来描述数字、索引引用、数量值、以UTF-转载 2013-11-25 16:16:01 · 678 阅读 · 0 评论 -
提升你的Java应用性能:改善数据处理
本文由 ImportNew - 唐尤华 翻译自 deepakgaikwad。如需转载本文,请先参见文章末尾处的转载要求。许多应用程序在压力测试阶段或在生产环境中都会遇到性能问题。如果我们看一下性能问题背后的原因,会发现很多是由数据处理不当造成。数据处理在应用面对大数据量时是非常关键的。这里有一些实用的数据处理技巧可以帮助更好地提升Java应用程序性能。减少数据传输在任何Ja转载 2013-11-25 16:18:59 · 539 阅读 · 0 评论 -
Tomcat 生产服务器性能优化
考虑一下这种场景,你开发了一个应用,它有十分优秀的布局设计,最新的特性以及其它的优秀特点。但是在性能这方面欠缺,不管这个应用如何都会遭到客户拒绝。客户总是期望它们的应用应该有更好的性能。如果你在产品中使用了Tomcat服务器,那么这篇文章就会给你几方面来提升Tomcat服务器的性能。感谢ITWorld article给本文提供资源。经过沉思我已经知道了和早期版本相比最新的Tomcat提供更好的转载 2013-11-25 16:29:41 · 591 阅读 · 0 评论 -
JDK, JRE 和JVM的区别
本文由 ImportNew - 顾星竹 翻译自 Journaldev。如需转载本文,请先参见文章末尾处的转载要求。JDK, JRE 和JVM是Java编程语言的核心概念。尽管它们看起来差不多,作为程序员我们也不怎么关心这些概念,但是它们是不同的针对特定目的的产品。这是一道常见的java面试题,而本文则会一一解释这些概念并给出它们之间的区别。 Java 开发工具包 (JD转载 2013-11-25 16:39:24 · 575 阅读 · 0 评论 -
clone方法是如何工作的
本文由 ImportNew - 刘志军 翻译自 javarevisited。如需转载本文,请先参见文章末尾处的转载要求。clone()是java.lang.Object类下面的一个很难处理的方法,clone()的作用很简单,提供一种克隆机制创建对象的副本,对于如何实现它已成为一个棘手的事,同时还长期被广受批评。不管怎样,我们不去争论历史,现在我们将尝试学习clone方法是怎样工作的。说实在转载 2013-11-25 16:45:46 · 655 阅读 · 0 评论 -
诊断Java.lang.OutOfMemoryError(OOM)
在跟踪性能问题时,堆内存是首先应该被监控的最重要的组件之一。一旦堆内存的实际使用量超过其所允许的堆空间,就会产生堆内存压力。而这将导致频繁的全面垃圾回收事件,垃圾回收将窃取CPU周期,轻则导致响应时间延迟,重则导致必须重新启动Java虚拟机才能解决的内存溢出错误。内存溢出错误(OOM)当我运行应用时,出现了如下异常:java.lang.OutOfMemoryError: G转载 2013-11-25 16:28:54 · 730 阅读 · 0 评论 -
深入理解JVM内幕:从基本结构到Java 7新特性
每个Java开发者都知道Java字节码是执行在JRE((Java Runtime Environment Java运行时环境)上的。JRE中最重要的部分是Java虚拟机(JVM),JVM负责分析和执行Java字节码。Java开发人员并不需要去关心JVM是如何运行的。在没有深入理解JVM的情况下,许多开发者已经开发出了非常多的优秀的应用以及Java类库。不过,如果你了解JVM的话,你会更加了解Jav转载 2013-11-25 16:15:02 · 599 阅读 · 0 评论 -
改进异常处理的6条建议
本文由 ImportNew - 唐尤华 翻译自 northconcepts。如需转载本文,请先参见文章末尾处的转载要求。合理地使用异常处理可以帮你节省数小时(甚至数天)调试时间。一个乘法异常会毁掉你的晚餐乃至周末计划。如果处置不及时,甚至对你的名誉都会造成影响。一个清晰的异常处理策略可以助你节省诊断、重现和问题纠正时间。下面是6条异常处理建议。1. 使用一个系统全局异常类不转载 2013-11-25 16:18:22 · 703 阅读 · 0 评论 -
Java JIT编译:不仅仅是个流行词
本文由 ImportNew - 唐尤华 翻译自 javacodegeeks。如需转载本文,请先参见文章末尾处的转载要求。最近我遇到了一个Java产品性能问题,强迫我重新熟悉并且深感Java即时(JIT)编译器对我的帮助。大多数Java开发者和支持人员都听说过JVM运行时性能优化,但是究竟有多少人真正理解并从中受益?本文将会分享我曾经遇到的一个问题及解决过程,并附带了新虚拟机服务器的转载 2013-11-25 16:19:47 · 657 阅读 · 0 评论 -
JVM性能优化
JVM性能优化, Part 1 ―― JVM简介 众所周知,Java应用程序是运行在JVM上的,但是你对JVM有所了解么?作为这个系列文章的第一篇,本文将对经典Java虚拟机的运行机制做简单介绍,内容包括“一次编写,到处运行”的利弊、垃圾回收的基本原理、常用垃圾回收算法的示例和编译器优化等。后续的系列文章将会JVM性能优化的内容进行介绍,包括新一代JVM的设计思路,以及如何支持当今Ja转载 2013-11-25 16:25:23 · 1239 阅读 · 0 评论 -
Java字符串问题Top10
本文由 ImportNew - 邢 敏 翻译自 programcreek。如需转载本文,请先参见文章末尾处的转载要求。以下是10个最常见的Java字符串问题。1、如何比较字符串?使用“==”还是使用equals() ?简单地说,“==”测试引用同一地址,而equals()测试值是否相等。除非需要检查两个字符串是否是同一个对象,否则应该总是使用equals()方法。转载 2013-11-25 16:40:27 · 580 阅读 · 0 评论 -
什么是静态(static)?什么是静态方法,静态变量,静态块和静态类?
本文由 ImportNew - 唐小娟 翻译自 Journaldev。如需转载本文,请先参见文章末尾处的转载要求。static是Java中的一个关键字,我们不能声明普通外层类或者包为静态的。static用于下面四种情况。静态变量:我们可以将类级别的变量声明为static。静态变量是属于类的,而不是属于类创建的对象或实例。因为静态变量被类的所有实例共用,所以非线程安全的。通常静态变量转载 2013-11-25 16:42:56 · 869 阅读 · 0 评论 -
Java数组(初学者必看)
本文由 ImportNew - 刘志军 翻译自 javarevisited。如需转载本文,请先参见文章末尾处的转载要求。数组无论在哪种编程语言中都算是最重要的数据结构之一,同时不同语言的实现及处理也不尽相同。但凡写过一些程序的人都知道数组的价值及理解数组的重要性,与链表一道,数组成为了基本的数据结构。尽管Java提供了很棒的集合API和集合类如:ArrayList、HashMap,他们内部转载 2013-11-25 16:45:02 · 744 阅读 · 0 评论 -
类在什么时候加载和初始化
本文由 ImportNew - 刘志军 翻译自 Javarevisited。如需转载本文,请先参见文章末尾处的转载要求。理解类在JVM中什么时候被加载和初始化是Java编程语言中的基础概念,正因为有了Java语言规范,我们才可以清晰的记录和解释这个问题,但是很多Java程序员仍然不知道什么时候类被加载,什么时候类被初始化,类加载和初始化好像让人很困惑,对初学者难以理解,在这篇教程中我们将看转载 2013-11-25 16:47:00 · 1554 阅读 · 0 评论 -
Java程序员应该知道的10个面向对象理论
本文由 ImportNew - 唐小娟 翻译自 Javarevisited。如需转载本文,请先参见文章末尾处的转载要求。面向对象理论是面向对象编程的核心,但是我发现大部分Java程序员热衷于像单例模式、装饰者模式或观察者模式这样的设计模式,而并没有十分注意学习面向对象的分析和设计。学习面向编程的基础(如抽象,封装,多态,继承等)是非常重要的,而运用它们来设计干净的模块也同样重要。我也认识很转载 2013-11-25 16:49:05 · 743 阅读 · 0 评论 -
5本最佳的Java面向对象理论和设计模式的书籍
本文由 ImportNew - 唐小娟 翻译自 Javarevisited。如需转载本文,请先参见文章末尾处的转载要求。对于Java程序员来说,掌握面向对象的设计理论和一些设计模式是必备技能。就像我在另一篇博客Java程序员应该知道的10个面向对象理论中提到的,不学理论就开始编程,就类似于学习一种语言而不学习字母表。市面上有很多有关面向对象理论的、设计模式的和最佳实践的,但只有很少的书真正转载 2013-11-25 16:49:58 · 1139 阅读 · 0 评论 -
类加载器的工作原理
本文由 ImportNew - 唐小娟 翻译自 Javarevisited。如需转载本文,请先参见文章末尾处的转载要求。Java类加载器的作用就是在运行时加载类。Java类加载器基于三个机制:委托、可见性和单一性。委托机制是指将加载一个类的请求交给父类加载器,如果这个父类加载器不能够找到或者加载这个类,那么再加载它。可见性的原理是子类的加载器可以看见所有的父类加载器加载的类,而父类加载器看转载 2013-11-25 16:48:00 · 640 阅读 · 0 评论 -
成为Java GC专家
成为JavaGC专家Part I — 深入浅出Java垃圾回收机制 对于Java开发人员来说,了解垃圾回收机制(GC)有哪些好处呢?首先可以满足作为一名软件工程师的求知欲,其次,深入了解GC如何工作可以帮你写出更好的Java应用。这仅仅代表我个人的意见,但我坚信一个精通GC的人往往是一个好的Java开发者。如果你对GC的处理过程感兴趣,说明你已经具备较大规模应用的开发经验。如果转载 2013-11-25 16:04:01 · 1505 阅读 · 0 评论 -
JAVA是解释型语言还是编译型语言
JAVA是解释型语言还是编译型语言Under J2SE | 三月 10th, 20101 comment JAVA是解释型语言还是编译型语言概念:编译型语言:把做好的源程序全部编译成二进制代码的可运行程序。然后,可直接运行这个程序。解释型语言:把做好的源程序翻译一句,然后执行一句,直至结束! 区别:编译型语言,执行速度快、转载 2013-11-26 18:39:50 · 1867 阅读 · 0 评论 -
JVM垃圾回收机制
每个Java程序员迟早都会碰到下面这个错误:java.lang.OutOfMemoryError这个时候一般会建议采用如下方式解决这个错误:增加MaxPermSize值增加最大堆内存到512M(-xmx参数)这篇文章会具体介绍Java堆空间和参数MaxPermSize的含义。这篇文章涉及下列主题,并采用Hotspot JVM:垃圾回收器(Ga转载 2013-11-25 16:27:00 · 557 阅读 · 0 评论 -
Java集合框架面试问题集锦
Java集合框架(例如基本的数据结构)里包含了最常见的Java常见面试问题。很好地理解集合框架,可以帮助你理解和利用Java的一些高级特性。下面是面试Java核心技术的一些很实用的问题。Q:最常见的数据结构有哪些,在哪些场景下应用它们?A. 大部分人都会遗漏树和图这两种数据结构。树和图都是很有用的数据结构。如果你在回答中提及到它们的话,面试者可能会对你进行进一步进行的考核。转载 2013-11-27 08:29:36 · 858 阅读 · 0 评论 -
LinkedList和ArrayList的区别
本文由 ImportNew - 唐小娟 翻译自 Javarevisited。如需转载本文,请先参见文章末尾处的转载要求。LinkedeList和ArrayList都实现了List接口,但是它们的工作原理却不一样。它们之间最主要的区别在于ArrayList是可改变大小的数组,而LinkedList是双向链接串列(doubly LinkedList)。ArrayList更受欢迎,很多场景下Ar转载 2013-11-27 08:31:22 · 643 阅读 · 0 评论 -
避免代码冗余,使用接口和泛型重构Java代码
本文由 ImportNew - ImportNew读者 翻译自 michaelbrameld。如需转载本文,请先参见文章末尾处的转载要求。【感谢 李云涛(@平等的黑)的热心翻译。如果其他朋友也有不错的原创或译文,可以尝试投递到 ImportNew。】在使用动态语言和.NET工作了若干年后,我又回到老本行–Java开发。在Ruby中,清除代码冗余是非常方便的,而在Java中则需要结合转载 2013-11-27 08:33:16 · 764 阅读 · 0 评论 -
HashMap和Hashtable的区别
本文由 ImportNew - 唐小娟 翻译自 Javarevisited。如需转载本文,请先参见文章末尾处的转载要求。HashMap和Hashtable的比较是Java面试中的常见问题,用来考验程序员是否能够正确使用集合类以及是否可以随机应变使用多种思路解决问题。HashMap的工作原理、ArrayList与Vector的比较以及这个问题是有关Java 集合框架的最经典的问题。Hasht转载 2013-11-27 08:34:02 · 472 阅读 · 0 评论