
Java基础
Yoara
还年轻。多学习
展开
-
对象在Collection中的存储
似乎对象存的是引用,String存的是对象。String真的很神奇。。。 package com.yoara.first;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class RefeTest {原创 2009-09-28 14:02:00 · 899 阅读 · 0 评论 -
线程的中断与终止
<br /> 需要先说明的三个问题:<br /> 1.以前的诸如stop等方法,因为可能导致死锁而已过时。<br /> 2.线程有可能因为睡眠或等待处于中断状态。<br /> 3.现在已没有任何方法能够强制某个线程终止运行。<br /> <br /> interrupt()方法只会改变被interrupt的线程的中断状态(interrupt status)而已。<br /> 线程在执行sleep、wait、join时,是在这些方法内不断检查interrupt status原创 2010-06-21 14:31:00 · 978 阅读 · 0 评论 -
treemap等
<br />最近工作遇到需要按一个model中不同的列进行排序的问题,查了一下JDK API文档,发现,java中可以排序的工具类和接口共有五个SortedMap、SortedSet、TreeMap 、TreeSet和Collections,由于我要排序的是一系列model,所以,最后使用了TreeMap对象,而且TreeMap到最后的处理比较自由,可以直接返回TreeMap对象,也可以返回model的一个Collection对象。其它几个类的用法其实都是大同小异,如果java基础较好,看一下API文档很容转载 2010-09-19 14:31:00 · 615 阅读 · 0 评论 -
new 的新用法
<br />public class ThreadTest { public static void main(String[] args) { Thread td = new ThreadTest().new Runner3(); td.run(); } class Runner3 extends Thread{ public void run(){ for(int i=0; i<30; i++){ System.out.println("NO." + i)原创 2010-09-30 11:29:00 · 784 阅读 · 0 评论 -
理解ThreadLocal
<br /> 早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。<br /> <br /> ThreadLocal很容易让人望文生义,想当然地认为是一个“本地线程”。其实,ThreadLocal并不是一个Thread,而是Thread的局部变量,也许把它命名为ThreadLocalVariable更容易让人理解一些。<br /> <br /> 当使转载 2010-10-13 14:13:00 · 607 阅读 · 0 评论 -
使用Java NIO提高服务端程序的性能
结合具体的Java Socket编程,讨论使用NIO提高服务端程序的性能的问题。 Java NIO增加了新的SocketChannel、ServerSocketChannel等类来提供对构建高性能的服务端程序的支持。 SocketChannel、ServerSocketChannel能够在非阻塞的模式下工作,它们都是selectable的类。在构建服务器或者中间件时,推荐使用Java NIO。 在传统的网络编程中,我们通常使用一个专用线程(Thread)来处理一个Socket连接,通过使用NIO,一个或者很转载 2010-10-14 09:16:00 · 822 阅读 · 0 评论 -
Java 理论与实践: 并发集合类
Java 理论与实践: 并发集合类ConcurrentHashMap 和 CopyOnWriteArrayList 提供线程安全性和已改进的可伸缩性阿道夫转载 2014-05-26 14:21:17 · 1301 阅读 · 0 评论 -
java 泛型应用
本来以为自己已经极懂泛型转载 2014-09-01 18:16:36 · 5465 阅读 · 0 评论 -
Unicode 通用类别
Unicode 通用类别:http://msdn.microsoft.com/zh-cn/library/20bw873z(VS.80).aspx类别说明Lu字母,大写Ll字母,小写Lt字母,词首字母大写Lm字母,修饰符Lo转载 2014-09-17 10:28:17 · 5499 阅读 · 0 评论 -
从文件下载学习到的
<br /> File file = new File("路径"); InputStream is = null; try { is = new FileInputStream(file); } catch (FileNotFoundException e) { e.printStackTrace(); } String filename = ""; try { filename = new String( "你好百度.doc".getBytes原创 2010-09-20 16:08:00 · 644 阅读 · 0 评论 -
分解和合并:Java 也擅长轻松的并行编程!
转自这里。转载 2014-10-20 10:14:45 · 987 阅读 · 0 评论 -
执行远程sevlet
由于项目需要,要在两台分布式主机上实现数据更新。 private static String[] ip; private static String port; private static String httpResponse(String servletName){ HttpClient httpclient = new HttpClient原创 2009-10-20 15:33:00 · 720 阅读 · 0 评论 -
log4j迁移到logback
原文出处:点我考虑到logback日志组件性能比log4j好,所以项目开发过程中抛弃log4j改用logback。log4j迁移到logback的步骤(只要三步):第一 引入logback需要的jar包 ch.qos.logback转载 2015-03-19 18:34:29 · 2023 阅读 · 0 评论 -
同步包java.util.concurrent的简单分析
1.什么是线程?线程有时称为 轻量级进程,每个线程都有自己的程序计数器,称为堆栈和本地变量。然而,线程存在于进程中,它们与同一进程内的其他线程共享内存、文件句柄以及每进程状态。这使线程更易于与其他线程共享信息,但也意味着您必须确保线程之间不相互干涉。2.线程安全的措施。在 JDK 5.0 之前,确保线程安全的主要机制是 synchronized 原语。访问共享变量(那些可以由多原创 2015-03-17 15:44:58 · 1797 阅读 · 0 评论 -
泛型的补充
一、什么是泛型泛型(Gernerics)机制自Java SE5.0开始引入,其实质是将原本确定不变的数据类型参数化。泛型好处: 作为对原有Java类型体系的扩充,使用泛型可以提高Java应用程序的类型安全、可维护性和可靠性。二、使用泛型2.1集合框架中的泛型用法:创建集合容器时规定其允许保存的元素类型,然后由编译器负责添加元素的类型合法性检查,在取用集合元素时则不必再进行造型处理。2.2泛型的向后兼容性Java语言中的泛型向过去兼容。在高版本开发环境中编译未启用泛型机制的集合框架应用代码时,原创 2010-06-01 17:00:00 · 711 阅读 · 0 评论 -
集合只是持有对象的引用
<br />colletion只是持有对象的引用,包括list,set,map等,remove,clear之类的函数只是去除对引用的持有。原创 2010-07-19 09:16:00 · 740 阅读 · 0 评论 -
存储到什么地方
------------------Thinking in Java-----------------1)寄存器。这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部。但是寄存器的数量及其有限,所以寄存器根据需求进行分配。你不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象(另一方面,C和C++允许您向编译器建议寄存器的分配方式)。 2)堆栈。位于通用RAM(随即访问存转载 2009-09-30 10:56:00 · 700 阅读 · 0 评论 -
从数字左补零到Formatter
1.int num= 111; //得到一个NumberFormat的实例 NumberFormat nf = NumberFormat.getInstance(); //设置是否使用分组 nf.setGroupingUsed(false); //设置最大整数位数 n转载 2009-09-28 14:24:00 · 1641 阅读 · 0 评论 -
数组的一些方法
数组于其他种类的容器之间的主要三个区别在于:效率、类型和保存基本类型的能力。但是随着泛型和自动包装机制的出现,效率是数组仅存的硕果。 java.util.Arrays有一套基于数组的static方法。fills()单填充;sort()排序;asList()转化成List;equals()比较两个数组(多维数组用deepEquals());binarySearch()用于在已经排序原创 2009-10-09 09:32:00 · 689 阅读 · 0 评论 -
数组的一些了解
数组于其他种类的容器之间的主要三个区别在于:效率、类型和保存基本类型的能力。但是随着泛型和自动包装机制的出现,效率是数组仅存的硕果。 java.util.Arrays有一套基于数组的static方法。fills()单填充;sort()排序;asList()转化成List;equals()比较两个数组(多维数组用deepEquals());binarySearch()用于在已经排序原创 2009-10-09 16:38:00 · 507 阅读 · 0 评论 -
到底创建了几个String对象
我们首先来看一段代码: Java代码 String str=new String(”abc”); 紧接着这段代码之后的往往是这个问题,那就是这行代码究竟创建了几个String对象呢?相信大家对这道题并不陌生,答案也是众所周知的,2个。接下来我们就从这道题展开,一起回顾一下与创建String对象相关的一些JAVA知识。 我们可以把上面这行代码分成String str、=、”abc”和new转载 2009-10-09 16:15:00 · 711 阅读 · 0 评论 -
I/O流的典型使用方法
1.输入缓冲文件 可以使用以String或FIle对象作为文件名的FileReader。为了提高速度,我们将产生的引用传递给BufferedReader构造器用于文件缓冲,由于BufferedReader也提供readline()方法,所以它将是最终文件读取的接口。public class BufferedInputFile { public static String read(原创 2009-10-10 09:47:00 · 843 阅读 · 0 评论 -
散列与散列码
1.初识散列码应用 先看下面这段代码:public class LearnHash { public static void detectString(Class type) throws Exception{ Constructor dog = type.getConstructor(int.class); Map map = new HashMap();原创 2009-10-09 10:43:00 · 3289 阅读 · 0 评论 -
反射
Reflection 是 Java 程序开发语言的特征之一,它允许运行中的 Java 程序对自身进行检查,或者说“自审”,并能直接操作程序的内部属性。例如,使用它能获得 Java 类中各成员的名称并显示出来。 用于 reflection 的类,如 Method,可以在 java.lang.relfect 包中找到。使用这些类的时候必须要遵循三个步骤:1.第一步是获得你想操作的原创 2009-11-02 15:24:00 · 479 阅读 · 0 评论 -
Java安全管理器Security Manager
每个Java应用都可以有自己的安全管理器,它是防范恶意攻击的主要安全卫士。安全管理器通过执行运行阶段检查和访问授权,以实施应用所需的安全策略,从而保护资源免受恶意操作的攻击。实际上,安全管理器根据Java安全策略文件决定将哪组权限授予类。然而,当不可信的类和第三方应用使用JVM时,Java安全管理器将使用与JVM相关的安全策略来识别恶意操作。在很多情况下,威胁模型不包含运行于JVM中的恶意转载 2009-11-02 15:07:00 · 2206 阅读 · 0 评论 -
System.getproperties()所有参数
java.version Java Runtime Environment version java.vendor Java Runtime Environment vendor java.vendor.url Java vendor URL java.home Java in转载 2009-11-27 17:23:00 · 562 阅读 · 0 评论 -
hasCatch和noCatch的一些区别
当有catch存在时,对一个有返回值的方法finally缺少return是错误的。但当无catch时却不会报错。且try块中遇到return会先去找finally,若在finally中遇到return则返回,没有则返回到try中的return返回。其实没啥实用价值。 public static boolean hasCatch(){ try{ System.out.print原创 2009-12-25 13:41:00 · 1508 阅读 · 0 评论 -
Properties 以前怎么不知道有这么好用的类呢
public static void main(String[] args) { Properties prop = new Properties(); FileInputStream fis; try { fis = new FileInputStream("pro.txt"); prop.load(fis); fis.close(); } catch (FileNotFo原创 2009-12-24 17:04:00 · 535 阅读 · 0 评论 -
简单的时间处理
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); GregorianCalendar calendar = new GregorianCalendar(); calendar.add(GregorianCalendar.DATE, +1); String indate = dateFormat.fo原创 2010-01-12 08:46:00 · 547 阅读 · 0 评论 -
Java 7 的新特性一览表
官方说是 7月28日 正式发布 Java 7 ,正常的话我们应该在 7月29日 看到这个版本。很快了,就两天时间。发布之前让我们先来看看 Java 7 都有什么新特性吧。Java 7 的架构图:新特性一览表:Swing新增 JLayer 类,是一个灵活而且功能强大的Swing组件修饰器,使用方法:How to Decorate Component转载 2016-06-07 11:27:49 · 611 阅读 · 0 评论