java
蚁人日记
努力就是有美好时光!分享交流
展开
-
java 参数的传递
值传递:指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。值传递:方法调用时,实际参数把它的值传递给对应的形式参数,函数接收的是原始值的一个copy,此时内存中存在两个相等的基本类型,即实际参数和形式参数,后面方法中的操作都是对形参这个值的修改,不影响实际参数的值引用传递:是指在调用函数时将实际参数的地址直接传递到函数中(的形参),那么在函数中对参数所进行的修改,将影响到实际参数。引用传递:也称为传地址。方法调用时,实际参数的引用(地址,原创 2021-08-11 17:20:19 · 173 阅读 · 0 评论 -
java jdk源码阅读指导记录
JDK源码毕竟太庞大了,所有都看不太现实,我们还是愿意根据日常使用和面试考察的频繁度来挖取重要的内容先看一看。如果自己没有特别的规划,可以按照如下所示的建议阅读顺序往下进行:具体的内容简介如下:1、java.lang这里面其实就是Java的基本语法,比如各种基本包装类型(Integer、Long、Double等)、基本类(Object,Class,Enum,Exception,Thread)等等...2、java.lang.annotation包含Java注解基本元素相关的源码3转载 2021-07-28 00:07:20 · 272 阅读 · 0 评论 -
java 接口的实现方式
定义接口1public interface HotspotController extends CallbackController<Callback>, Dumpable { boolean isHotspotEnabled(); boolean isHotspotTransient(); void setHotspotEnabled(boolean...原创 2019-11-29 14:18:44 · 345 阅读 · 0 评论 -
Map值按key排序或是按 value排序
实现Map的按值Value(非Key)排序 Map map = new TreeMap(); map.put("j2se", 20); map.put("j2ee", 10); map.put("j2me", 30); List> infoIds = new ArrayList>(map.entrySet()); //排序前 for (int i = 0原创 2012-04-11 16:33:44 · 1141 阅读 · 0 评论 -
java语言自定义异常
http://hi.baidu.com/xf_asp/item/c8be9730c73e0e81c2cf29f0使用Java内置的异常类可以描述在编程时出现的大部分异常情况。除此之外,用户还可以自定义异常。用户自定义异常类,只需继承Exception类即可。在程序中使用自定义异常类,大体可分为以下几个步骤。(1)创建自定义异常类。(2)在方法中通过throw关键字抛出异常对象。转载 2012-07-19 22:09:09 · 879 阅读 · 0 评论 -
java 自定义异常
自己抛出异常,调用者捕获异常, class DefineException { public int shang(int x,int y) { int m=0; try{ m=x/y; throw new Dat原创 2012-07-19 14:56:49 · 985 阅读 · 0 评论 -
java 获得MAP与LIST的中值
遍历集合找到特定的元素并将其删除,两种实现: privatevoid testDelete() { ListString> list= new ArrayListString>(); for (int i= 0; i 10; i++) { String str ="ck0"+ i;原创 2011-11-11 00:10:11 · 1520 阅读 · 0 评论 -
java 随机生成指定位长数字
代码一(包含字母):public class Ran { public final static String randomStr = "abcdefghijklmnopqrstuvwxyz0123456789"; public static void main(String[] args) { System.out.println(getRandomNum(4)); //原创 2012-07-23 22:20:40 · 1222 阅读 · 0 评论 -
tcpdump抓包分析详解
www.androidkaifa.com提示本文出自:http://blog.csdn.net/yeqihong/article/details/1477050說實在的,對於 tcpdump 這個軟體來說,你甚至可以說這個軟體其實就是個駭客軟體, 因為他不但可以分析封包的流向,連封包的內容也可以進行『監聽』, 如果你使用的傳輸資料是明碼的話,不得了,在 router 上面就可能被人家監聽走了!转载 2012-07-31 15:47:03 · 2034 阅读 · 0 评论 -
Java编程风格与命名规范整理说明
类,接口命名 类的名字必须由大写字母开头而单词中的其他字母均为小写;如果类名称由多个单词组成,则每个单词的首字母均应为大写例如TestPage;如果类名称中包含单词缩写,则这个所写词的每个字母均应大写,如:XMLExample,还有一点命名技巧就是由于类是设计用来代表对象的,所以在命名类时应尽量选择名词。 People TestPage XMLExample 方法原创 2012-05-23 14:17:48 · 802 阅读 · 0 评论 -
Java中八种基本数据类型占用字节空间总结和数据类型之间的转换
Java中八种基本数据类型占用字节空间总结基本数据类型 所占用空间大小byte b; 1字节short s; 2字节int i; 4字节long l; 8字节char c; 2字节(C语言中是1字节)float f; 4字节double d; 8字节boolean bool; false/true基本数据类型注意事项:1、未带有字符后缀标识的整数默原创 2011-12-03 21:07:01 · 1078 阅读 · 0 评论 -
java StringTokenizer的用法
StringTokenizer 这个类其实真正项目里面恐怕很少会用吧?但是这个类真的很实用,因为它可以根据自己的方式按照一定的规则来拆分一个字符串String s = new String("The Java platform is the ideal platform for network computing"); //默认的构造函数,会默认空格是分隔符转载 2012-04-26 17:39:42 · 551 阅读 · 0 评论 -
java中文排序
import java.util.*; import java.text.*; public class SortByChinese { public static void main(String[] args) { // Collator 类是用来执行区分语言环境的 String 比较的,这里选择使用CHINA转载 2012-04-20 16:06:06 · 848 阅读 · 0 评论 -
Java ExecutorService 线程池
ExecutorService 建立多线程的步骤:1。定义线程类class Handler implements Runnable{}2。建立ExecutorService线程池ExecutorService executorService = Executors.newCachedThreadPool();或者int cpuNums =原创 2012-05-04 10:59:11 · 2455 阅读 · 0 评论 -
String , StringBuffer 还是 StringBuilder
2. LinkedList内部以链表形式存储数据ArrayList内部以数组形式存储数据。Vector同ArrayList,不过它与ArrayList比较起来是thread-safe的。Hashtable是继承了Dictionary,是线程安全的。HashMap实现了Map接口,不是线程安全的。如何保证线程安全的?每个修改容器中数据的操作都是同步的(synchronized),因此保证了线...转载 2012-05-14 17:39:51 · 464 阅读 · 0 评论 -
一步一步写算法(之 算法总结)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】本文出自:http://blog.csdn.net/feixiaoxing/article/details/6993718 自10月初编写算法系列的博客以来,陆陆续续以来写了几十篇。按照计划,还有三个部分的内容没有介绍,主要是(Dijkstra算法、二叉平衡树、红黑树)转载 2012-05-18 14:48:31 · 840 阅读 · 0 评论 -
鉴客 InputStream与String,Byte之间互转
import java.io.ByteArrayInputStream;002import java.io.ByteArrayOutputStream;003import java.io.IOException;004import java.io.InputStream;转载 2012-05-21 17:17:22 · 491 阅读 · 0 评论 -
Java子类与父类的初始化,父类子类內部程序的执行顺序
classParent{ intx=10; publicParent(){ add(2); } voidadd(inty){ x+=y; } ...原创 2012-07-04 22:40:13 · 30661 阅读 · 0 评论 -
java如何终止线程(整合自网络)
声明本文出自:安卓开发网关于java如何终止线程的一篇文章:http://www.cnblogs.com/gpcuster/archive/2010/01/18/1650273.html对于线程的终止或者中断,由于java中Thread.stop方法已经被弃用,如何终止一个线程,成为了一个挑战,不仅仅要考虑终止的条件也要考虑终止后的收尾工作。大部分情况下,我们可以通过自己设置的标识例如m...原创 2012-07-25 00:09:12 · 793 阅读 · 0 评论 -
java的RandomAccessFile类
转载声明:http://hi.baidu.com/lifeinnet/item/95161af6c30572db6225d23bpackage src.bean;import java.io.FileNotFoundException;import java.io.IOException;import java.io.RandomAccessFile;class Stude转载 2012-10-09 11:17:26 · 644 阅读 · 0 评论 -
java Thread与Runnable
* <p> * There are two ways to create a new thread of execution. One is to * declare a class to be a subclass of <code>Thread</code>. This * subclass should override the <c...原创 2019-07-26 16:05:13 · 256 阅读 · 0 评论 -
java 泛类
泛型:就是允许在定义类、接口、方法时使用类型形参。这个类型形参将在声明变量、创建对象、调用方法时动态指定,即传入实际的类型参数(也叫传入类型实参)。传入的类型实参的类型必须是引用类型。 这种参数类型可以用在类、接口和方法中,分别被称为泛型类、泛型接口、泛型方法。 个人理解直白点说: 形类的数据类型不定型,根据实参实时传入的数据类型为准,好文推荐:https...原创 2019-07-31 14:30:50 · 657 阅读 · 0 评论 -
java ThreadLocal
最近在android 源码时,看到Looper.java文件中有一个属性static final ThreadLocal<Looper> sThreadLocal = new ThreadLocal<Looper>();-------------------------------------------------------------------------...转载 2019-07-25 21:12:38 · 108 阅读 · 0 评论 -
Java 8 forEach方法 简单例子 | java8 stream流操作的flatMap
1.1 通常这样遍历一个MapMap<String, Integer> items = new HashMap<>();items.put("A", 10);items.put("B", 20);items.put("C", 30);items.put("D", 40);items.put("E", 50);items.put("F", 60);for ...转载 2019-05-29 17:18:38 · 3519 阅读 · 1 评论 -
Java 基础-2
成员变量和局部变量的区别1)在类中的位置局部变量:方法中或者方法的参数列表成员变量:类的里面,方法的外面2)在内存中的位置局部变量:栈成员变量:堆内存 new3)初始值不同局部变量:必须赋初始值成员变量:有默认的初始值 int 0 double 0.0 Stirng null4)生命周期不同局部变量:随着方法的调用而存在,随着方法的结束而消失...原创 2019-06-05 23:32:00 · 91 阅读 · 0 评论 -
Java 基础 匿名对象
什么是匿名对象以及匿名对象的基本使用什么是匿名对象?我们来看一步就创建对象的语法: ①类名称 ②对象名称 = ③new ④类名称()①:规定了对象的类型②:对象的名字,唯一标识对象③:开辟新的堆内存空间,存储对象的内容,若是没有new,则没有内存空间,对象也就无法实例化④:调用构造方法初始化对象上面的这条语句在内存中开辟了两个空间,一个栈空间存储引用变量对象名称,一个使用...原创 2019-06-05 23:05:24 · 354 阅读 · 0 评论 -
java的InputStream和OutputStream的理解
1、在java中stream代表一种数据流(源),javaio的底层数据元,---(想像成水龙头)2、任何有能力产生数据流(源)的javaio对象就可以看作是一个InputStream对象既然它能产生出数据,我们就可以将数据取出,java对封装的通用方法就read()方法了--(出水龙头)3、任何有能力接收数据源(流)的javaio对象我们就可以看作是一个OutputStream对象同样,...转载 2011-12-30 11:30:47 · 634 阅读 · 0 评论 -
java HTTP与SOCKET的区别
一个是发动机(Socket),提供了网络通信的能力一个是轿车(Http),提供了具体的方式简单的说HTTP一般为单向的,如你像服务器发起一个请求,服务器就会返给你需要的,而socket使双向的,即一方(如客户端)有改变就会通知另一方(如服务器)要求保持一致,当这一方(服务器)发生改变会通知另一方(客户端)要保持数据一致。 一般情况下程序要保持实时性(如及时通讯,股票软件等)的话用so...原创 2012-05-16 11:15:57 · 990 阅读 · 0 评论 -
JAVA中的内部类-(静态内部类与成员内部类的区别和使用)
Java中的静态内部类在定义的内部类前加static修饰符,此时的内部类就是静态内部类。通过一个例子来了解静态内部类都有哪些特点。public class Outer { //定义一个实例变量和一个静态变量 private int a; private static int b; //定义一个静态方法和一个非静态方法 public static v...原创 2019-06-12 14:42:58 · 1870 阅读 · 0 评论 -
java 加强记录
java中抽象类和空的方法体有什么区别?public abstract void test(); 抽象方法:可以在实现类中写方法体中的逻辑代码。public void test(){};方法体为空:没有返回值,没有实际意义。1、Java基础技术体系、JVM内存分配、垃圾回收、类装载机制、性能优化、反射机制、多线程、网络编程、常用数据结构和相关算法。2、对面向对象的软件开发思想有...原创 2019-05-24 10:25:21 · 119 阅读 · 0 评论 -
java运算符 与(&)、非(~)、或(|)、异或(^) 及移位运算符
Java运算符大致分为逻辑运算符(&&,||,!)、算数运算符(+, -, *, / ,+=)、位运算符(^,|,&)、其他运算符(三元运算符)下面将各符号名称列出:&(按位与)&&(逻辑与)|(按位或)||(逻辑或)^(异或运算符)<<(左移运算符)>>(右移运算符)~(取反运算符...原创 2019-05-22 20:30:19 · 1245 阅读 · 0 评论 -
Java中实现读取文件指定行
读取文件指定行要用到类LineNumberReader,它是跟踪行号的缓冲字符输入流,其基类是BufferedReader。。它有两个构造方法: public LineNumberReader(Reader in) 使用默认输入缓冲区的大小创建新的行编号 reader,默认输入缓冲区的大小为8096个字节。 pulbic LineNumberReader(Reader原创 2014-03-31 16:38:22 · 2411 阅读 · 0 评论 -
Java生成UUID
GUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成GUID。从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义上)3240年不重复。UUID是1.5中新增的一个类,在java.util下,用它可以产生一个号称全球唯一的IDpackage com.mytest;import java.util.UU转载 2012-08-24 15:46:08 · 576 阅读 · 0 评论 -
java关键字Transient
Java的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有一个特殊的对象数据成员,我们不想用serialization机制来保存它。为了在一个特定对象的一个域上关闭serialization,可以在这个域前加上关键字transient。transient是Java语言的关键字,用来表示一个域不是该对象串行化的一部分。当一个对象被串行化的时候,transient型转载 2013-03-18 16:42:38 · 641 阅读 · 0 评论 -
java 什么时候用try catch结构?
如果你调用的函数有可能抛出异常那你就一定要捕获这个异常,这个是java的规定,若没有用try catch 或者在方法定义的时候没有throws 那些异常,那么那个类是连编译都编不过去的...比如有这么一个方法void testNull(Object obj) { if(obj==null) throw new NullPointException("ob转载 2013-03-15 11:33:27 · 2425 阅读 · 0 评论 -
java 回调接口
public class B{ //------------调用方式1------------// //接口对象作用范围全局可用 public CallBack mCallBack; //(1.1)构造方法赋值 public B(CallBack mmCallBack){ mCallBack = mmCallBack; } /...原创 2012-12-25 12:07:29 · 818 阅读 · 0 评论 -
Java中ArrayList类的用法(转)
本文出自:http://www.cnblogs.com/YSO1983/archive/2011/08/22/2149711.html1、什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: 动态的增加和减少元素 实现了ICollection和IList接口 灵活的设置数组的大小2、如何使转载 2011-11-16 13:59:02 · 429 阅读 · 0 评论 -
SoftReference--对象的强、软、弱和虚引用的概念
本文出自: http://blog.csdn.net/helixiuqqq/article/details/6610199 本文介绍对象的强、软、弱和虚引用的概念、应用及其在UML中的表示。1.对象的强、软、弱和虚引用 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用转载 2011-11-07 20:11:56 · 454 阅读 · 0 评论 -
static块的作用及何时被执行
一般情况下,如果有些代码必须在项目启动的时候就要被执行,这种情况上就需要使用静态代码块,这种代码是主动执行的,写个例子看看static块什么时候被执行静态代码块就是在类加载的时候运行,并且只加载一次,通常用在某些事情在类加载时运行,只需用一次的地方,比如jdbc链接数据库,还有一些工具类导入某些配置文件等等。现在链接数据库都已被框架封装好,我用静态代码块更多的地方就是导入配置文件,或者给原创 2011-11-29 22:56:43 · 1038 阅读 · 0 评论 -
java 使用正则Pattern等实现【搜索 -> 提取 -> 分割 -> 替换】功能
本文出自:http://blog.csdn.net/lord_is_layuping/article/details/6696695正则表达式在字符串处理上有着强大的功能,sun在jdk1.4加入了对它的支持 下面简单的说下它的4种常用功能:搜索:String str="abc efg ABC";String regEx="a|f"; //表示a或f Pattern转载 2011-11-09 14:13:12 · 432 阅读 · 0 评论