Java基础
执笔论英雄
这个作者很懒,什么都没留下…
展开
-
Java之新手错误
package learn.java.cn; public class IOstream { public static void main(String[] args) { int result=method(); System.out.println("result:"+result); } public int method(...原创 2018-11-11 10:55:06 · 173 阅读 · 0 评论 -
Java之HashSet
标题 HashSet :https://blog.fondme.cn/apidoc/jdk-1.8-google/ package learn.java.cn.collection; import java.util.HashMap; import java.util.HashSet; public class MyHashSet { /* * ###########...原创 2018-11-17 11:50:56 · 156 阅读 · 0 评论 -
Java编程之范型的使用
package learn.java.cn.collection; /* * 范型的使用 * 1范型不能用于静态属性 * 2.范型不能用于基本数据类型,用于引用类型 */ public class TestGeneric { public static void main(String []args) { int score=32; //Students<int&...原创 2018-11-17 12:58:26 · 144 阅读 · 0 评论 -
深入理解虚拟机
深入理解虚拟机目录结构: 程序计数器是一块较小的内存空间,它可以看作是当前 线程扬执行的字节码的行号指示 器。 1.通过改变计数器的值 来选择下一条执行的字节码的指令。 2.线程私有,每一条线程都有一个独立的PCR,互不影响。 3.若线程一正在执行的是Java方法,PCR记录的是当前正在执行的JVM字节码指令的地址, 若在执行Native方法,则PCR为...原创 2018-11-17 15:16:38 · 118 阅读 · 0 评论 -
线程中静态代理的使用
一、程序 进程 线程 1.程序:指令集、静态概念 2.进程:操作系统调度程序。动态概念 3.线程:在进程内多条执行路径。 继承Tread类方式的缺点:如果我们的类已经从一个类继承,则无法再继承Thread类 通过Runnalble 接口实现多线程:避免单继承、方便共享资源,同一份资源,多个代理访问 package learn.j...原创 2018-11-17 16:57:02 · 98 阅读 · 0 评论 -
线程启动方法
一、继承Thread+ run()方法 创建子类对象+对象.start() 二、实现Runable+run() package learn.java.cn.packag; /** * 使用Runnable创建线程 * 避免单继承, * 便于资源共享 * 1.类实现Runnable 接口+ 重写run方法--》真实角色 * 2.启动多线程,使用静态代理(thread) * 创...原创 2018-11-17 17:44:47 · 279 阅读 · 0 评论 -
线程启动方法三
package learn.java.cn.packag; import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Exec...原创 2018-11-17 18:56:51 · 90 阅读 · 0 评论 -
线程的状态
package learn.java.cn.packag; /** * 外部干涉停止线程 * 1)线程类中定义线程体使用的 标识 * 2)线程体中使用该标识 * 3)提供对外的方法改变该标识 * 4)外部根据条件调用该方法即可 * @author Steven * */ public class ThreadStop { ...原创 2018-11-17 19:34:43 · 133 阅读 · 0 评论 -
Java进程同步之生产者消费者模式
package learn.java.cn.deadlock; /** * 生产者消费者模式信号灯法 * wait()等待 释放锁,sleep()i不释放锁 * @author Steven * */ public class Movie { private String src; private boolean flag=true; //flag=T,生产者生产,消费者...原创 2018-11-20 11:51:14 · 468 阅读 · 0 评论 -
Java hashcode与collection 的关系
collection 类对象在调用remove,contains 等方法时需要比较对像是否相等,会涉及到hashcode,和equals.()方法 内容相等的两个对像其hashcode 值是相等的 equals()相等=》hashcode 相等反之不成立...原创 2018-11-16 21:17:17 · 225 阅读 · 0 评论 -
Java之Map实现升级版
package learn.java.cn.collection; import java.util.LinkedList; /* * 思路:数组中放list,list中放DefMap,即数组加链表; * 存放时,key的hashcode值 对数组长度求余后作为索引值 存放到数组中, * 这样在,取对应的value值时,只需求出参数key的hashcode值 ,不须遍历数组 * 因为...原创 2018-11-16 14:52:57 · 285 阅读 · 0 评论 -
Java之Exception 分类
可查异常: CheckedException 可查异常即必须进行处理的异常,要么try catch住,要么往外抛,谁调用,谁处理,比如 FileNotFoundException 如果不处理,编译器,就不让你通过 运行时异常RuntimeException指: 不是必须进行try catch的异常 常见运行时异常: 除数不能为0异常:ArithmeticException 下标越界异...原创 2018-11-11 11:01:43 · 162 阅读 · 0 评论 -
java之容器
Collection 与数组的区别是:长度是无限的,只能存放对像 Collection:list,Set: list是有序可重复的,Set是无序不可重复的 Map 是键值 对,相当于python 中的字典 ArrayList 是直接查询方式,add(index,item)最坏复杂度是O(n),动态数组 ArrayList是顺序访问方式,从第一个依次查询,对应复杂度是O(1) pack...原创 2018-11-13 20:25:57 · 70 阅读 · 0 评论 -
Java 中Static的使用
静态方法中不能真接使用同类中非静态成员变量和非静态方 法,通过创建类调用。可以使用静态变量或方法, 普通方法中可以使用本类中静态成员和非静态成员 参考https://www.cnblogs.com/100thMountain/p/5374387.html...原创 2018-11-18 17:11:07 · 80 阅读 · 0 评论 -
Java之join(),yield()
package learn.java.cn.packag; /** * join合并线程(让该线程全部执行结束,再启动其它线程 * yield ()暂停当前进程,执行其他线程静态方法,cpu 很有可能重新启动。 * * yield()位于哪,则暂停哪个线程 * sleep()静态方法不释放资源,不头释放锁,用于网洛延时,倒计时 * @author Steven * @return...原创 2018-11-18 18:03:01 · 105 阅读 · 0 评论 -
Java 之Thread.sleep
package learn.java.cn.packag; import java.text.SimpleDateFormat; import java.util.Date; /** * 1.一秒内倒数一个数 * 2.倒计时 * 3.模拟网洛延时 * @author Steven * */ public class SleepDemo01 { public static vo...原创 2018-11-18 18:05:27 · 154 阅读 · 0 评论 -
java之IO操作之 节点流
转换流:字节流转字符流(处理乱码) 二进制(计算机) 解码 字符(人类) 字符(人类) 编码 二进制(计算机) 乱码原因:编码与解码字符集不一致 字节缺少,长度丢失 package learn_java.io.others; import java.io.BufferedInputStream; import java.io.ByteArrayInputStream; impo...原创 2018-11-12 21:39:26 · 95 阅读 · 0 评论 -
Java之Map实现初级版
package learn.java.cn.collection; public class MyMap { int size=0; DefMap [] defMap=new DefMap[999]; public void put(Object key,Object value) { //判断是否健值 相等,若是相等,则替换 for(int i=0; i<=size;i++...原创 2018-11-16 11:06:53 · 141 阅读 · 0 评论 -
Java中数组与变量的区别
LinkedList list; LinkedList list2; list=list2; list2.add("GGGg"); System.out.println(list); 上面是list2,list 为变量,因为list2 没有初始化,必须得先初始化,后赋值 LinkedList list=new LinkedList(); LinkedList...原创 2018-11-16 14:47:51 · 1375 阅读 · 0 评论 -
自己实现ArrayList
package learn.java.collection; import java.util.*; public class MyArrayList { public static void main(String [] args){ ArrayLis<Integer> aList=new ArrayLis<Integer>(); ...原创 2018-12-05 12:28:56 · 117 阅读 · 0 评论