- 博客(23)
- 资源 (2)
- 收藏
- 关注
原创 内存溢出解决方案: java.lang.ref 包
首先,看下jdk 中, java.lang.ref包的具体类体系: 名词解释如下:PhantomReference(幽灵引用,虚引用), SoftReference ( 软引用), WeakReference(弱引用)先不管这些类设计的目的,让我们思考下: 假设一个项目,高峰时期需要使用上万个某类的对象,但平时就使用几百个对象,我们是如何解决...
2018-06-30 17:06:13 927
原创 java垃圾回收策略: 分代回收
根据对象的生存周期的长短, 划分三代: Young---> Old----->Permanent(永久的)1,Young Generation: Young代2,Old Genration:old 代3, Permanent Generation : 永久代具体流程如下:运行java程序时, 如何调用不同的垃圾回收器(使用了不同的垃圾回收算法)? A, 串行回收器:下面是一张示意图...
2018-06-30 15:55:49 474
原创 java键盘录入问题: next**() 和 nextLine混用的“异常”
Scanner sc=new Scanner(System.in);int x=sc.nextInt();double y=sc.nextDouble();String s= sc.nextLine();/* 最有一个用nextLine() ,出现异常*/ System.out.println("int:"+x); System.out.println("doubl...
2018-06-29 21:36:58 1140
原创 java泛型:几个“特殊”场景
/** * 测试: 泛型多态 * @author wang * */public class GenericT { //================定义泛型方法=================== public static void say(List<Object> list) {} public static void say2(List<?>...
2018-06-29 01:01:25 615
原创 学习jdk源码: 自定义HashSet类
public class HashSetT<E> { // 属性: map容器(key=输入的参数, value=常量) private transient HashMap<E, Object> map;// map容器:存放键(值对):键-->泛型 E private static final Object CONST = new Object();// ...
2018-06-28 23:53:39 400
原创 学习jdk源码: 自定义StringBuffer类
先看StringBuffer类的定义:所以,第一步: 先定义父类------->AbstractStringBuilder, 模拟创建一个类public class AbstractStringBuilderT { //属性 char[] value; int count; //构造 AbstractStringBuilderT() {} AbstractStringBuil...
2018-06-27 21:22:37 1003
原创 学习jdk源码: 自定义String类
实现和String类的方法:length(); charAt(int index); equals(类型 ); startsWith( 类型)public class StringT {//属性 private final char value[]; private int hash; //构造方法public StringT(...
2018-06-27 16:49:22 408
原创 java算法: 冒泡排序 + 选择排序 + 二分法查找
二分法查找:(前提: 1,数值型数组; 2,必须 ---升序或降序)public static int find(int[] arr,int val) { //查找--下标 int start=0; int end=arr.length-1; int mid=(start+end)/2; while(start<end) { if(arr[mid]==val) { ...
2018-06-27 16:28:50 806
原创 java: list容器元素去重(3种方法)
要求: 有一个list容器, 存了这些内容:“a”,"a","b","b","c","d", 要求去掉重复的元素, 如何做?public static void handleArr(List list) { //方法1=============//从头删 /* int count=0; for (int j = 0; j < list.size()-1; j++) {..
2018-06-27 13:57:21 2280
原创 java:四种方式遍历Arraylist(与异常)
使用<迭代器> 迭代元素时, 不能使用list 本身的方法改变结构(添加,删除元素)否则会报错:ConcurrentModificationException, 不能同时修改!所以: 要么使用<迭代器>自身的add(obj), remove(); 要么使用list自身的for简单遍历,同时add(obj), remove(index)import java.util.Ar...
2018-06-26 19:39:49 1229
原创 java:父类子类---成员变量: 调用的"异常"
public class ExtendsPrivateV{ //测试: 父子类---》构造方法: 访问private 变量===》子类访问了父类的变量 private int a=10; public ExtendsPrivateV(){System.out.println(this.getClass()+"--"+this.a);} ...
2018-06-25 21:31:47 501
原创 javap 命令: 查看构造代码块 + 成员变量赋值==>编译结果
public class ConstructorVar{ //测试: 构造代码块+ 成员变量赋值---》javap: 执行过程 int a=10; { a=20; } //构造方法 public ConstructorVar(){ a=30; } public Constructo...
2018-06-25 20:24:42 577
原创 java设计模式9----解释器模式
使用接口: 实现解释器模式 【条理不明】使用抽象父类+接口: 实现解释器模式 【条理清晰】 <A>使用UML类图<B>使用百度脑图---画类的关系结构图...
2018-06-23 12:41:21 362
原创 java 设计模式8----- 备忘录模式(备份,还原)
1 //javabean : 保存数据 2 public class Data{ 3 4 private String data; 5 6 public Data(){} 7 public Data(String a){this.data=a;} 8 9 public String getData(){return data...
2018-06-22 20:58:27 496
原创 java设计模式7--模板模式
类的组织结构:最终测试结果:===》具体代码://抽象父类======================/**使用模板模式: 仿照日志的打印*/public abstract class F { //抽象方法1 abstract void before(); //抽象方法2 abstract void doMethodlog(); //抽象方法3 abstract void a...
2018-06-21 17:28:40 291
原创 java 代码块-静态代码块: 执行顺序
静态代码块static{ }---static 成员变量public class Block { static int b=100; static { b=-1; } //测试 public static void main(String[] args) { System.out.print(b);//-1 }}//-----------------------...
2018-06-21 16:37:51 293
原创 java基础篇--java语法体系
语法(类:属性,方法) 类:属性 关键字、 标志符( 命名规则:类名大写,包名小写,变量名+方法名:驼峰) 变量、常量、数组 变量:类型 数值类型的取值范围--二、八、十六进制 正数: 二转十(8421法则) 二转八(三位一组,求十进制数) 二转十六(四位一组,求十进制数,ABCDEF) 负数:反码,补码(+1...
2018-06-14 12:41:48 424
原创 linux三剑客---awk[列式编辑]
awk 对比cutroot@wang-pc:/home/wang# echo "a b c" |cut -d" " -f2broot@wang-pc:/home/wang# echo "a b c" |cut -d" " -f1aroot@wang-pc:/home/wang# echo "a b c" |cut -d" " -f3croot@wang-pc:/home/wan...
2018-06-05 22:16:27 472
原创 linux 三剑客--sed[行式编辑]
sed: 单个文件:增删改查 单个文件:复制粘贴 多个文件:导入/导出新文件 1,增加: 在指定行前/后增加 在某行前插入:ni [insert]在某行后追加:na [append] 2,删除: 删除一行/多行 删除某行删除多行: 第1行,第3行...
2018-06-02 21:14:59 738
原创 linux三剑客---shell脚本:bash
1,什么是shell脚本?vi 1.sh, 写入内容给1.sh添加执行权限: 运行脚本(相对路径,绝对路径,bash , source )2, 管道| 重定向 >3,shell 脚本变量A: 系统变量:date, envB: 自定义变量C: 位置变量:$1,$2....vi 4.sh 输入内容:...
2018-06-01 14:31:18 896
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人