Java
彷徨的石头
这个作者很懒,什么都没留下…
展开
-
Java8——打破你对接口的认知
Java 8 至 2014 年发布至今,已经过了 6 个年头了,最新的 Java 14 都发布了。Java8之前接口只能由抽象方法,不能有实现方法。但是从Java8之后,接口里面是可以写实现方法的,可以在接口中添加默认方法和静态方法。 默认方法用default修饰,只能用在接口中,静态方法用static修饰,这个我们不陌生了。并且接口中的默认方法、静态方法可以同时有多个。 在接口中写实现方法一点也不稀奇,像这样的用法,从 Java 8 到 Java 14 已是遍...转载 2020-10-14 11:36:27 · 310 阅读 · 0 评论 -
java算法专题-归并排序
归并的思想就是分治.Java代码 public class Test1 { public static void main(String[] args) { int[] arr1 = { 4,23,234,3,41,311,3,5 ,56,5,46}; int[] arr2 = { 4,23,234,3,41,3转载 2012-03-26 09:34:55 · 428 阅读 · 0 评论 -
Java程序员学习之路
1. Java语言基础谈到Java语言基础学习的书籍,大家肯定会推荐Bruce Eckel的《Thinking in Java》。它是一本写的相当深刻的技术书籍,Java语言基础部分基本没有其它任何一本书可以超越它。该书的作者Bruce Eckel在网络上被称为天才的投机者,作者的《Thinking in C++》在1995年曾获SoftwareDevelopment Jolt Award最佳转载 2012-03-28 16:42:40 · 1595 阅读 · 0 评论 -
JAVA程序员面试32问
第一,谈谈final, finally, finalize的区别。 final?修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为转载 2012-03-19 11:07:40 · 351 阅读 · 0 评论 -
java程序员应该知道的两种引用
java中没有指针,到处都是引用(除了基本类型)。所以,当然,你肯定知道java的引用,并用了很久,但是是不是对此了解地比较全面?而这些引用有什么作用,且有什么不同呢?Java中有个java.lang.ref包,这里面都是描述引用对象的,包括了Reference,SoftReference,WeakReference和PhantomReference。其中,Reference是基类其他三个类的转载 2012-03-21 16:26:45 · 375 阅读 · 0 评论 -
Java中字符编码和字符串所占字节数 .
Java中字符串所占的字节数和字符编码密切相关。Java编码实际上可以涉及这几个方面的知识:IDE的编码,操作系统默认编码,Java字符编码。例如:我们使用eclipse编写Java程序时,可以在工程属性中设置Java程序的编码,若不设置,则程序的编码默认是操作系统的编码,这里设置的编码即为代码文件的编码;或者我们使用vim编写Java程序时,可以设置系统的环境变量LANG,例如 zh_C转载 2012-03-21 17:25:15 · 27858 阅读 · 0 评论 -
Java知识拾遗:三大框架的技术起源
Struts、Hibernate和Spring是我们Java开发中的常用关键,他们分别针对不同的应用场景给出最合适的解决方案。但你是否知道,这些知名框架最初是怎样产生的?我们知道,传统的Java Web应用程序是采用JSP+Servlet+Javabean来实现的,这种模式实现了最基本的MVC分层,使的程序结构分为几层,有负责前台展示的 JSP、负责流程逻辑控制的Servlet以及负责数据转载 2012-03-22 08:34:53 · 741 阅读 · 0 评论 -
Java中各类Cache机制实现解决方案
在Java中,不同的类都有自己单独的Cache机制,实现的方法也可能有所不同,文章列举了Java中常见的各类Cache机制的实现方法,同时进行了综合的比较。OSCacheOSCache是个一个广泛采用的高性能的Java EE缓存框架,OSCache能用于任何Java应用程序的普通的缓存解决方案。OSCache有以下特点:缓存任何对象,你可以不受限制的缓存部分jsp页面或HT转载 2012-03-22 08:35:14 · 419 阅读 · 0 评论 -
基于J2EE网银系统的安全系统解决方案概述
简介: 本文介绍网络银行所普遍采用的安全技术和方案,将从数据和业务逻辑的两个角度详细地分析一般网络银行系统的安全需求,并据此引入以 PPDRR 为安全模型的安全设计方案。通过阅读本文,读者不但可以了解网上银行普遍采用的安全系统架构以及相关技术,而且对开发实际安全应用系统具有一定的指导意义。摘要随着中国加入 WTO,外国银行进入中国市场,国内银行的业务越来越多的移植到网络银行上,因此转载 2012-03-22 08:36:12 · 793 阅读 · 0 评论 -
Spring 框架的设计理念与设计模式分析
简介: Spring 作为现在最优秀的框架之一,已被广泛的使用,并且有很多对其分析的文章。本文将从另外一个视角试图剖析出 Spring 框架的作者设计 Spring 框架的骨骼架构的设计理念,有那几个核心组件?为什么需要这些组件?它们又是如何结合在一起构成 Spring 的骨骼架构? Spring 的 AOP 特性又是如何利用这些基础的骨骼架构来工作的? Spring 中又使用了那些设计模式来完成转载 2012-03-22 08:36:26 · 420 阅读 · 0 评论 -
Java开发必读 解决Java EE的乱码问题
在Java EE中,乱码问题通常是一个令人头痛的问题,那如何解决这些问题呢?我们必须从问题的根本入手,以达到快而准的解决问题。本文就Java EE中的乱码做一个小结,以求抛砖引玉。首先,我们知道产生乱码的原因是因为不同的编码造成的,这就好比你和一个印地安人在说话,假设你完全不懂印第安语,而对方也不懂汉语,那你们所说的话,就会在对方的脑子里产生一个个的问号。那么怎么办呢?通常的做法,就是找一转载 2012-03-22 08:36:37 · 478 阅读 · 0 评论 -
审查Java代码的十一种常见错误
代码审查是消灭Bug最重要的方法之一,这些审查在大多数时候都特别奏效。由于代码审查本身所针对的对象,就是俯瞰整个代码在测试过程中的问题和Bug。并且,代码审查对消除一些特别细节的错误大有裨益,尤其是那些能够容易在阅读代码的时候发现的错误,这些错误往往不容易通过机器上的测试识别出来。本文就常见的Java代码中容易出现的问题提出一些建设性建议,以便您在审查代码的过程中注意到这些常见的细节性错误。通转载 2012-03-22 08:36:48 · 369 阅读 · 0 评论 -
Java程序的编码规范
所有的程序开发手册都包含了各种规则。一些习惯自由程序人员可能对这些规则很不适应,但是在多个开发人员共同写作的情况下,这些规则是必需的。这不仅仅是为了开发效率来考虑,而且也是为了后期维护考虑。一、命名规范定义这个规范的目的是让项目中所有的文档都看起来像一个人写的,增加可读性,减少项目组中因为换人而带来的损失。(这些规范并不是一定要绝对遵守,但是一定要让程序有良好的可读性)> Packag转载 2012-03-22 08:37:00 · 342 阅读 · 0 评论 -
C# 和Java骨子里是两种不同的语言
我相信有很多人认为学会了Java,同时也学会了C#,或者认为学了Java, C# 几小时内就会了。但现实的情况是,热爱Java 的人用了C# 的人可能会觉得浑身不舒服,热爱C#的人也不是很喜欢Java。Java 的设计者是因为讨厌C++的复杂,于是Java 非常简洁,GC 也让内存管理非常方便,C# 是看中了Java 的GC和虚拟机技术,希望把微软的几大语言集成到.NET 上来。 因此C#从语转载 2012-03-22 08:37:48 · 397 阅读 · 0 评论 -
Java深度理解——Java字节代码的操纵
Java作为业界应用最为广泛的语言之一,深得众多软件厂商和开发者的推崇,更是被包括Oracle在内的众多JCP成员积极地推动发展。但是对于 Java语言的深度理解和运用,毕竟是很少会有人涉及的话题。InfoQ中文站特地邀请IBM高级工程师成富为大家撰写这个《Java深度历险》专栏,旨在就Java的一些深度和高级特性分享他的经验。在一般的Java应用开发过程中,开发人员使用Java的方式比较简单转载 2012-03-22 08:38:00 · 324 阅读 · 0 评论 -
J2EE、Java SE、Java EE、Java ME详细介绍
目前,Java 2平台有3个版本,它们是适用于小型设备和智能卡的Java 2平台Micro版(Java 2 Platform Micro Edition,J2ME)、适用于桌面系统的Java 2平台标准版(Java 2 Platform Standard Edition,J2SE)、适用于创建服务器应用程序和服务的Java 2平台企业版(Java 2 Platform Enterprise Edi转载 2012-03-22 08:38:09 · 439 阅读 · 0 评论 -
创建Java安全框架 避免Java漏洞被利用
导读:据最近的报道,针对Java的袭击数量一直在稳步上升。在这篇文章,我们将谈到为什么Java容易成为攻击者的目标,以及企业应该如何创建Java安全框架,从而成功抵御基于Java的漏洞攻击。虽然蠕虫病毒、Zeus僵尸网络和极光行动是去年的头条新闻,但是据Krebs On Security的Brian Krebs和微软的Holly Stewart最近的报道,针对Java的袭击数量一直在稳步上升。转载 2012-03-22 08:38:20 · 645 阅读 · 0 评论 -
7个改变世界的Java项目
Java的开源生态系统是强大而健康的,这是我们(Oreilly)创建OSCON Java(Open Source Convention Java)的主要原因之一。在过去10年中,一些项目已经被广泛接受,并且已经统治了Java软件开发世界,一些甚至影响到了用户的日常生活。1. JUnitKent Beck先生关于Smalltalk的单元测试被Kent Beck 和Erich Gamm转载 2012-03-22 08:38:30 · 357 阅读 · 0 评论 -
Java编程中影响性能的一些特点
文中将提供一些在Java编程中影响性能的一些特点,为了能够提高Java程序的性能,而经常采用的一些方法和技巧。1.尽量使用final修饰符。带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String。为String类指定final防止了使用者覆盖length()方法。另外,如果一个类是final的,则该类所有方法都是fin转载 2012-03-22 08:38:39 · 281 阅读 · 0 评论 -
Java程序员应该了解的10个面向对象设计原则
面向对象设计原则是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton、Decorator、Observer这样的设计模式,而不重视面向对象的分析和设计。甚至还有经验丰富的Java程序员没有听说过OOPS和SOLID设计原则,他们根本不知道设计原则的好处,也不知道如何依照这些原则来进行编程转载 2012-03-22 08:38:50 · 410 阅读 · 0 评论 -
Java泛型简明教程
泛型是Java SE 5.0中引入的一项特征,自从这项语言特征出现多年来,我相信,几乎所有的Java程序员不仅听说过,而且使用过它。关于Java泛型的教程,免费的,不免费的,有很多。我遇到的最好的教材有:The Java TutorialJava Generics and Collections, by Maurice Naftalin and Philip WadlerEffecti转载 2012-03-21 16:00:03 · 369 阅读 · 0 评论 -
Java学习从入门到精通
一、 JDK (Java Development Kit) JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自转载 2012-03-19 11:09:18 · 485 阅读 · 0 评论 -
JSP面试
1、如何混合使用Jsp和SSI #include? 在JSP中可以使用如下方式包含纯HTML: 但是如果data.inc中包含JSP CODE ,我们可以使用: 2、如何执行一个线程安全的JSP? 只需增加如下指令 3、JSP如何处理HTML FORM中的数据? 通过内置的request对象即可,如下: String item = r转载 2012-03-19 11:06:12 · 409 阅读 · 0 评论 -
jsp的内部方法jspInit(),_jspService(),jspDestroy()
jspInit(){}:jsp Page被初始化的时候调用该方法,并且该方法仅在初始化时执行一次,所以可以在这里进行一些初始化的参数配置等一次性工作,由作者创建 jspDestroy(){}:jsp Page由于某种原因被关闭的时候调用该方法,由作者创建 jspService(){}:由jsp容器自动创建的处理jsp Page的方法,由jsp容器创建,不能由作者定义。转载 2012-03-19 10:58:36 · 2058 阅读 · 0 评论 -
关于Class类的成员函数与Java反射机制,坦言Synchronize的本质
1. 关于Object类理解 大家都知道Object是所有Java类的基类, 意味着所有的Java类都会继承了Object的11个方法。建议大家去看看Object的 11个成员函数的源代码,就会知道默认的实现方式。比如equals方法,默认实现就是用”==”来比较,即直接比较内存地址,返回true 或者 false。而toString()方法,返回的串组成方式转载 2012-03-21 16:22:06 · 547 阅读 · 0 评论 -
每个Java初学者都应该搞懂的六个问题
问题一:我声明了什么! String s = "Hello world!"; 许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个String,内容是“Hello world!”。这样模糊的回答通常是概念不清的根源。如果要准确的回答,一半的人大概会回答错误。这个语句声明的是一个指向对象的引用,名为“s”,可以指向类型为String的任转载 2012-03-21 16:30:15 · 376 阅读 · 0 评论 -
MyEclipse中取消js的语法错误提示
MyEclipse 中对 jquey.js 里的语句提示错误了,这是由于MyEclipse对其语法要求相当严格所造成的,而这些文件本身是可以运行并没有什么错误的,在你实际应用部署中并无影响。可以不用管它,照样部署运行。 可是一直有这样的错误提示总是很烦的,可以取消这些提示,右键——>点击MyEclipse菜单项的Exclude From Validation,可对选中的项目设置不作验转载 2012-03-21 17:08:07 · 1495 阅读 · 0 评论 -
中文到unicode编码转换
代码:/*** 中文到unicode编码的转换*/public class UnicodeTest {public static void main(String[] args) { String cn = "怀念外婆屋后的柚子树"; System.out.println(cnToUnicode(cn)); // 字符串 : \u5f00\转载 2012-03-21 17:12:32 · 2646 阅读 · 0 评论 -
java 遍历 map
示例:Map maps = new HashMap(); maps.put("1", "A"); maps.put("2", "B"); maps.put("3", "C"); maps.put("4", "D"); //1 Iterator it1 = maps.entrySet().iterator(); while(it1.hasNext转载 2012-03-21 17:13:30 · 323 阅读 · 0 评论 -
java path
在自己的机器上装玩jdk以后,一般都不会动它,就忘了环境变量要配置那几个。但有时候又需要在其他机器上装jdk,每次都要去查一遍,懒得装一回就搜索一遍,在这个记录一下: 设置 JAVA_HOME PATH=%JAVA_HOME%\bin CLASSPATH=%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\to转载 2012-03-21 17:14:10 · 298 阅读 · 0 评论 -
JAVA中转义字符
1.八进制转义序列:\ + 1到3位5数字;范围'\000'~'\377' \0:空字符 2.Unicode转义字符:\u + 四个十六进制数字;0~65535 \u0000:空字符 3.特殊字符:就3个 \":双引号 \':单引号 \\:反斜线 4.控制字符:5个 \' 单引号字符 \\ 反斜杠转载 2012-03-21 17:15:45 · 609 阅读 · 0 评论 -
Java 中的传值和传应用 .
Java中在函数调用传递参数时, * 传递的若是基于基本类型的JAVA数据类型, 都是传值. 如 8 种基本数据类型 int, float, double, long, char, byte, short, boolean 分别对应 Integer, Float, Double, Long, String, Byte, Short, Boolean.转载 2012-03-21 17:24:29 · 776 阅读 · 0 评论 -
破坏HelloWorld
1 main函数前 public:去掉,编译通过,但运行时出现“Main method not public”,终止执行;改为private,结果同上;-----结论:main函数必须是public的。2 去掉 main函数前 static:编译通过,但运行时出现“Exception in thread "main" java.lang.NoSuchMethodError: main”,终转载 2012-04-10 11:36:39 · 459 阅读 · 0 评论 -
Java生产者消费者问题 .
生产者,消费者,固定长度缓冲区,此外外部可以中断线程 import java.util.Arrays;import java.util.Date;import java.util.LinkedList;import javax.swing.*;public class ProducerConsumer { public static JFrame inst; publ转载 2012-03-23 08:49:17 · 463 阅读 · 0 评论 -
Java遍历文件夹的两种方法(非递归和递归) .
import java.io.File;import java.util.LinkedList;public class FileSystem { public static int num; public static void main(String[] args) { long a = System.currentTim转载 2012-03-23 08:49:28 · 4579 阅读 · 0 评论 -
Java中的引用
每种编程语言都有自己的操纵内存中元素的方式。有时候程序员必须注意将要处理的数据是什么类型。你是直接操纵元素,还是用某种基于特殊语法的间接表示(例如C和C++里的指针)来操纵对象。 Java中所有这一切都得到了简化。一切都被视为对象,因此可采用单一固定的语法。尽管一切都看作对象,但操纵的标识符实际上是对象的一个“引用”(reference)。可以将引用看作为遥控器,将对象看作为电视机,转载 2012-05-18 11:27:31 · 378 阅读 · 0 评论 -
存储数据
程序运行时,对象是怎么进行放置安排的呢?特别是内存是怎样分配的呢?有五个不同的地方可以存储数据: 1)寄存器。这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部。但是寄存器的数量极其有限,所以寄存器根据需求进行分配。你不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象(另一方面,C和C++允许您想编译器建议寄存器的分配方式)。 2)堆栈。位于通转载 2012-05-18 15:00:11 · 386 阅读 · 0 评论 -
举例说明你什么时候会用抽象类,什么时候更愿意使用接口?
在Java中,你只能继承一个类,但实现多个接口。所以你继承一个类的时候就无法再继承别的类了。 接口是用来代表形容词或行为,例如Runnable、Clonable、Serializable等。因此,如果您使用一个抽象类来定义(实现)Runnable和Clonacle,你就不可以使你的类同时实现这两个功能,而如果接口的话就没问题. 抽象类是比接口稍快,所以很在乎时间的应转载 2012-07-04 08:48:37 · 1585 阅读 · 0 评论 -
访问权限
第一:private, public, protected 访问标号的访问范围。 private :只能由1.该类中的函数、2.其友元函数访问。 不能被任何其他访问,该类的对象也不能访问。 protected :可以被1.该类中的函数、2.子类的函数、以及3.其友元函数访问。 但不能被该类的对象访问。 public :可以被1.该类中的函数、2.子类的函数、3.其友转载 2012-07-04 08:57:51 · 740 阅读 · 0 评论 -
Java中23种经典设计模式
Java中23种设计模式 目录 1. 设计模式 3 1.1 创建型模式 4 1.1.1 工厂方法 4 1.1.2 抽象工厂 6 1.1.3 建造者模式 10 1.1.4 单态模式 13 1.1.5 原型模式 15 1.2 结构型模式 17 1.2.1 适配器模式 17 1.2.2 桥接模式 19 1.2.3 组合模式 23 1.2.4 装饰模式转载 2012-07-04 09:00:42 · 2112 阅读 · 0 评论