![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
1.1.1 Java Base
文章平均质量分 72
uniquepine
这个作者很懒,什么都没留下…
展开
-
JAAS
<br />次我们谈到JAVA可以支持几乎所有的基础密码学处理操作(包括加密、解密、数字签名、消息摘要),也许有人会为之欣喜若狂,但是更多的“黑人”可能在 底下暗暗的笑,如何在实际世界中应用密码学往往使人手足无措,网络世界也并非因为加密技术的存在而风平浪静。这次我要谈的是JAVA中的一项重要安全技术 -JAVA的认证和授权服务(JAAS)(该技术比较复杂,有专著),首先谈谈JAAS的身世。<br />大家知道,JAVA的口号是“一次编译,处处执行”。分布式执行可以给我们美好的憧憬,但是也给我们带来了隐患。一原创 2010-11-30 22:18:00 · 858 阅读 · 0 评论 -
memory gc == and equals
java ram(randam access memory): 分成:stack,heap,static storage, constants storage.stack:对像的删除存取比较快,存放的是已知的对像(类型,生命周期), 存放 基本数据类型,对象的引用heap:在里面创建对像(即用new关键字来产生对象),存放用new关键字生成的对象static stroage: 静态变量原创 2012-02-20 10:42:07 · 465 阅读 · 0 评论 -
java类的装载和初始化。
A:装载,发生的第一件事情是装载程序到外面找到当前调用的那个类。在装载过程中,装载程序注意它有一个基础类(即extends关键字要表达的意思),所以随之将其载入。无论是否准备生成那个基础类的一个对象,这个过程都会发生(请试着将对象的创建代码当作注释标注出来,自己去证实)。若基础类含有另一个基础类,则另一个基础类随即也会载入,以此类推B:初始化,在转载结束后,会在根基础类(此时是Insect原创 2012-02-20 10:01:40 · 395 阅读 · 0 评论 -
Class loader
一、JAVA有三个类加载器: 1.bootstrap class loader,负责加载系统类,比如jdk的rt.jar包里的类。 2.extension class loader,负责加载jre/lib/ext目录下的所有类。 3.system class loader,负责加载环境变量classpath指向目录下的所有类。 他们三个依次是“父子关系”,因为bootstr原创 2012-02-21 17:13:36 · 694 阅读 · 0 评论 -
ThreadLocal
ThreadLocal百科名片JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序,ThreadLocal并不是一个Thread,而是Thread的局部变量。介绍线程程序介绍 早在JDK 1.2的版本中转载 2012-02-24 12:58:32 · 996 阅读 · 0 评论 -
内部类
一、 定义放在一个类的内部的类我们就叫内部类。二、 作用1.内部类可以很好的实现隐藏 一般的非内部类,是不允许有 private 与protected权限的,但内部类可以2.内部类拥有外围类的所有元素的访问权限3.可是实现多重继承(n个内部类都各自继承了n个父类,这样外层的类可以访问每个内部类,也就间接的拥有了n个父类的特性.相当于继承了n个父类)4.可以避免修改接口原创 2010-11-24 09:44:00 · 323 阅读 · 0 评论 -
JAVA 的checked异常和unchecked异常
什么是unchecked异常? 即RuntimeException(运行时异常)不需要try...catch...或throws 机制去处理的异常列举最常用的五种RuntimeException: 这是JAVA认证考试中最常见的题目,事实上,runtime exception中最常见的,经常碰到的,也就5,6种,如下: ArithmeticEx原创 2012-03-23 17:31:46 · 560 阅读 · 0 评论 -
比较分析Vector、ArrayList和hashtable hashmap数据结构
均在java.util包中。本文试图通过简单的描述,向读者阐述各个类的作用以及如何正确使用这些类。Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable (链表数组的数据结构,线程安全)├HashMap (链表数组的数据结构,非线程安全)└WeakHashMap (k转载 2012-03-29 13:26:48 · 475 阅读 · 0 评论 -
Java中Array与ArrayList的主要区别
1)精辟阐述:可以将 ArrayList想象成一种“会自动扩增容量的Array”。2)Array([]):最高效;但是其容量固定且无法动态改变; ArrayList: 容量可动态增长;但牺牲效率;3)建议:基于效率和类型检验,应尽可能使用Array,无法确定数组大小时才使用ArrayList!不过当你试着解决更一般化的问题时,Array的功能就可能过于受限转载 2012-03-30 14:42:37 · 512 阅读 · 0 评论 -
Volatile 关键字
volatile变量来以比同步更低的成本存储共享变量,并且保证每次读取时都是,最新的一次修改后的,即保证其他变量可以立即看到对volatile变量的写入,但无法呈现原子操作的读-修改-写顺序即:多线程时候每次读取的volatile 变量都是最新的一次被修改的,但是不能保证就是被当前变量修改后的变量值.原创 2012-03-15 10:31:18 · 350 阅读 · 0 评论 -
避免死锁和死锁诊断
一般来说,要出现死锁必须同时具备四个条件。因此,如果能够尽可能地破坏这四个条件中的任意一个,就可以避免死锁的出现。1) 互斥条件。即至少存在一个资源,不能被多个线程同时共享。如在哲学家问题中,一支筷子一次只能被一个哲学家使用。2) 至少存在一个线程,它拥有一个资源,并等待获得另一个线程当前所拥有的资源。如在哲学家聚餐问题中,当发生死锁时,至少有一个哲学家拿着一支筷子,并等待取得另一个哲学家原创 2012-03-15 17:16:56 · 1692 阅读 · 0 评论 -
heap and stack
数据类型 Java虚拟机中,数据类型可以分为两类:基本类型 和引用类型 。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。基本类型包括:byte,short,int,long,char,float,double,Boolean,returnAddress引转载 2012-02-20 13:15:17 · 315 阅读 · 0 评论 -
java的一些容易忽略的基础
1.简述逻辑操作(&,|,^)与条件操作(&&,||)的区别。(15分)2.下面程序运行会发生什么结果?如果有错误,如何改正? (15分)interface A{ int x = 0;}class B{ int x =1;}class C extends B implements A { public void pX(){ Syste转载 2012-03-22 11:23:28 · 469 阅读 · 0 评论 -
Java的基本数据类型
bit、byte、位、字节、汉字的关系 1 bit = 1 二进制数据 1 byte = 8 bit 1 字母 = 1 byte = 8 bit 1 汉字 = 2 byte = 16 bit 1. bit:位 常见的 基本的传输单位。 一个二进制数据0或1,是1bit; 2. b原创 2012-02-20 13:29:11 · 428 阅读 · 0 评论 -
Mutable and Immutable Objects
不可变类的唯一判断条件是:“ 不可变类的实例在实例的整个生命周期中永远保持初始化的状态”比如一个类里面有个属性是private List list,然后只提供了getList()方法,但是你还是可以通过getList().add(XXX)来修改list的内容。即是,它没有保持“初始化”状态,它是个可变类。 来自百度:可变类和不可变类(Mutable and Immuta转载 2013-11-01 18:04:37 · 810 阅读 · 0 评论 -
简介Java的GUI
GUIGUI图形用户界面:用图形的方式,来显示计算机操作的界面主要用到的包:Awt与 Swingjava.Awt:抽象窗口工具包,需要调用本地系统方法实现功能。属于重量级控件。javax.Swing:在AWT的基础上,建立的一套图形界面系统,其中提供了更多的组件,而且完全由Java实现。增强了移植性,属于轻量级控件。布局管理器:容器中的组件的排放转载 2014-07-12 12:19:17 · 660 阅读 · 0 评论 -
Clone使用方法详解
深度clone 基本数据类型可以一次性实现深度clone 浅度clone: 对于对象的引用只是创建了两个指向同一个对像的引用,要实现深度clone 便是把引用指向的 对象做clone后的对象。如何clone clone三部曲。 1 声明实现Cloneable接口。 2 调用super.clone拿到一个对象,如果父类的clone实现没有问题的话,在该对象的内存存储中,所有父类定原创 2012-02-27 10:45:36 · 1150 阅读 · 1 评论 -
Java引用总结(强,软,弱,虚)
(因为最近写个小工具,在手机平台上需要用到,所以整理了大部分相关文档,希望对读者有用,若有笔误请来信告诉谢谢:silentbalanceyh@126.com)1.Java垃圾回收器概述 Java2平台里面引入了java.lang.ref包,这个包中的类可以让我们引用对象,而是的这些对象不用停留在内存中。不仅仅如此,这些类和Java本身的垃圾回收器还存在一定的交互。我们平时开发的时转载 2012-02-27 11:27:01 · 1160 阅读 · 0 评论 -
annotation
<br />Annotation在java的世界正铺天盖地展开,有空写这一篇简单的annotations的文章,算是关于Annotation入门的文章吧,希望能各位们能抛砖,共同学习...... <br /> 不讲废话了,实践才是硬道理. <br /><br /> 第一部分:了解一下java1.5起默认的三个annotation类型:<br /> 一个是@Override:只能用在方法之上的,用来告诉别人这一个方法是改写父类的。 <br /> 一个是@Deprecated:建议别人不要使用旧原创 2010-12-21 22:12:00 · 764 阅读 · 1 评论 -
侵入,无侵入? Annotation vs Interface
<br />1. Interface<br /> 使用Interface 定义对象的类型,框架根据对象的接口来提供服务,这种模式是古而有之的Java框架设计者必习之法,从最重量的EJB到最轻量的Spring,都离不开这种方式,也的确解决了很多问题。比如在大家熟悉的Spring里:BeanFactoryAware接口,框架看到它就会调用Bean的setBeanFactory(BeanFactory beanFactory) 函数,将BeanFactory传给它,让它自行用BeanFactory获得更多Be原创 2010-12-21 22:41:00 · 456 阅读 · 0 评论 -
Log4J 使用总结
<br />一、介绍<br />Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务 器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。 <br />Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的优先级从高到低有ERROR、WARN、 INFO、DEBUG原创 2010-12-22 21:46:00 · 383 阅读 · 0 评论 -
HTA
<br />目录HTA实例HTA属性1、语法的要求2、HTA的外观HTA的其它含义层次任务分析卫生技术评估HTA实例HTA属性1、语法的要求2、HTA的外观HTA的其它含义层次任务分析卫生技术评估展开编辑本段HTA实例 下面是一个HTA的例子: <!—example1.hta--> <html> <head> <title>第一个HTA的例子</title> <style> p {font-size:24;cursor:hand} </style> </head>原创 2010-12-24 10:49:00 · 1038 阅读 · 0 评论 -
java useful documents links
<br />JVM: http://java.sun.com/docs/books/jvms/second_edition/html/VMSpecTOC.doc.html原创 2011-01-26 15:33:00 · 447 阅读 · 0 评论 -
java多线程学习-java.util.concurrent详解(一) Latch/Barrier
Java1.5提供了一个非常高效实用的多线程包:java.util.concurrent, 提供了大量高级工具,可以帮助开发者编写高效、易维护、结构清晰的Java多线程程序。从这篇blog起,我将跟大家一起共同学习这些新的Java多线程构件1. CountDownLa转载 2011-10-12 16:33:43 · 666 阅读 · 0 评论 -
java多线程学习-java.util.concurrent详解(四) BlockingQueue
7.BlockingQueue “支持两个附加操作的 Queue,这两个操作是:获取元素时等待队列变为非空,以及存储元素时等待空间变得可用。“ 这里我们主要讨论BlockingQueue的最典型实现:LinkedBlockingQueue 和Array转载 2011-10-13 10:48:58 · 824 阅读 · 0 评论 -
java多线程学习-java.util.concurrent详解(二)Semaphore/FutureTask/Exchanger
我们学习了java.util.concurrent的CountDownLatch和CyclicBarrier 今天我们继续共同来探讨其他的多线程组件 -------------------------------------------------------------转载 2011-10-13 10:46:44 · 1091 阅读 · 0 评论 -
java多线程学习-java.util.concurrent详解(三)ScheduledThreadPoolExecutor
6. ScheduledThreadPoolExecutor 我们先来学习一下JDK1.5 API中关于这个类的详细介绍: "可另行安排在给定的延迟后运行命令,或者定期执行命令。需要多个辅助线程时,或者要求 ThreadPoolExecutor 具有额转载 2011-10-13 10:47:54 · 1390 阅读 · 0 评论 -
java的concurrent用法详解
我们都知道,在JDK1.5之前,Java中要进行业务并发时,通常需要有程序员独立完成代码实现,当然也有一些开源的框架提供了这些功能,但是这些依然没有JDK自带的功能使用起来方便。而当针对高质量Java多线程并发程序设计时,为防止死蹦等现象的出现,比如使用java之前的wait()、notify()和synchronized等,每每需要考虑性能、死锁、公平性、资源管理以及如何避免线程安全性方面带来的转载 2011-11-03 17:34:08 · 476 阅读 · 0 评论 -
runtime exception和checked exception的区别?
runtime exception和checked exception的区别?Java提供了两类主要的异常:runtime exception和checked exception。所有的checked exception是从java.lang.Exception类衍生出来的,而runtime exception则是从java.lang.RuntimeException或java.lang.Erro转载 2012-02-21 17:04:38 · 880 阅读 · 0 评论 -
java 多线程用例sample
1。 用Executors创建threadpool ,并交由ExecutorService来管理。然后调用ExecutorService.submit 来执行具体的task返回是Future,同坐Future.get(). 便可以 拿到Future的返回值。或者是用ExecutorService.invokeAll(Collection> tasks)来执行tasklist。 Exe原创 2012-02-22 11:45:01 · 981 阅读 · 0 评论 -
多线程编程 -wait(),notify()/notityAll()方法 .
wait(),notify()/notityAll()方法]关于这两个方法,有很多的内容需要说明.在下面的说明中可能会有很多地方不能一下子明白,但在看完本节后,即使不能完全明白,你也一定要回过头来记住下面的两句话:[wait(),notify()/notityAll()方法是普通对象的方法(Object超类中实现),而不是线程对象的方法][wait(),notify()/notityAll()转载 2012-02-24 13:10:50 · 538 阅读 · 0 评论 -
log4j
Log4j: 1)基本简介: Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进转载 2012-02-27 14:01:04 · 2408 阅读 · 0 评论 -
HashSet和TreeSet的区别
==========================他们的区别===========================1. HashSet是通过HashMap实现的,TreeSet是通过TreeMap实现的,只不过Set用的只是Map的key2. Map的key和Set都有一个共同的特性就是集合的唯一性.TreeMap更是多了一个排序的功能.3. hashCode和equal()是HashMa原创 2014-08-08 00:19:49 · 712 阅读 · 0 评论