java基础
无梦想,却时常幻想
这些都是我的笔记,表述和正确性都不太确定,大家参考着看看就好,学技术还得找大佬的
展开
-
JAVA基础 day19 JVM与GC
虚拟机:模拟某种计算机体系结构,执行特定指令集的软件分类:1.系统虚拟机 2. 程序虚拟机(JVM)Java 虚拟机架构常用虚拟机 :HotSopt 虚拟机 :应用“热点代码探测技术”本文章的虚拟机指的都是这个类加载类加载器Java Classloader3个默认的类加载器这些加载器并不是继承关系类对象.getClassLoader() 获得类加载器类加载过程public class TestLoader { public static void main(St原创 2020-08-17 17:43:40 · 166 阅读 · 0 评论 -
JAVA day18 Java8 特性
新特性概括Lambda表达式特殊的匿名内部类 Comparator<String> comparator1=new Comparator<String>() { @Override public int compare(String o1, String o2) { return o1.compareTo(o2); } }; Compar原创 2020-08-14 12:00:23 · 152 阅读 · 0 评论 -
JAVA 基础 day17 反射
反射Reflect类对象,把类当成对象来看获取类的类对象1.通过对象获取 对象.getClasss() Student student = new Student("chichi", 18, "shen"); Class<? extends Student> aClass = student.getClass();2.类名.classClass<Student> studentClass = Student.class;3静态方法 Cl原创 2020-08-12 19:52:11 · 195 阅读 · 0 评论 -
JAVA 基础 day16 NIO
NIOJava Non-blocking IO或Java New IO,是从JDK1.4 开始引入 的一套新的IO,为所有的原始类型(boolean类型除外)提供缓存支持的 数据容器使用它可以提供非阻塞式的高伸缩性网络jdk 1.7后加入AIO(NIO2)Buffer缓冲区子类中没有booleanBuffer基本使用allocate()堆中开辟 alloacteDirect()物理内存开辟public class TestBuffer { public static vo原创 2020-08-11 20:14:09 · 189 阅读 · 0 评论 -
JAVA基础 day15 网络编程
网络可分为局域网,城域网,广域网OSIOpen System interconnection开放式互联系统TCP/IP模型传输层协议TCP协议: Transmission Control Protocol 传输控制协议• 是一种面向连接的、可靠的、基于字节流的传输层通信协议。数据大小无限制。建立连 接的过程需要三次握手,断开连接的过程需要四次挥手。• UDP协议: User Datagram Protocol 用户数据报协议• 是一种无连接的传输层协议,提供面向事务的简单不可靠信息传送原创 2020-08-10 17:59:14 · 233 阅读 · 0 评论 -
Java基础 day14 I/O流
File类文件可能存在也可能存在路径可以是绝对路径:包含盘符 相对路径:不包含盘符构造方法:1.构造方法 pathname2.构造方法 两个参数,父目录 文件名文件操作 //创建 File file=new File("d:\\bb.txt"); File file1=new File("d:\\","aaa.txt"); if(!file1.exists()){ boolean newFile = f原创 2020-08-06 21:39:29 · 360 阅读 · 0 评论 -
JAVA基础 day13 Condition,线程安全集合
File类原创 2020-08-06 19:20:24 · 156 阅读 · 0 评论 -
JAVA基础 day12 线程通信,线程池
线程通信sleep和wait的区别1.sleep是线程进入休眠状态,wait线程进入等待队列等待2.sleep释放cpu了,没有释放锁;wait释放cpu了,释放锁锁.wait()会抛出异常,用try,catch捕捉锁.notify() 锁.notify()调用某个对象的notify()方法能够唤醒一个正在等待这个对象的锁的线程,wait()方法与notify()必须要与synchronized(resource)一起使用。也就是wait与notify针对已经获取了resource锁的原创 2020-08-05 21:13:24 · 248 阅读 · 0 评论 -
JAVA基础 day11 线程
线程进程的一个执行路径,CPU基本调度单位。进程由多个线程组成,彼此间完成不同的工作,交替执行,称为多线程。单核:宏观同时执行,微观串行(顺序交替执行)多核:真正意义上的并行进程和线程的区别• 进程是操作系统资源分配的基本单位,而线程是CPU的基本调度单位。• 一个程序运行后至少有一个进程。• 一个进程可以包含多个线程,但是至少需要有一个线程。• 进程间不能共享数据段地址,但同进程的线程之间可以。线程的组成• CPU时间片:操作系统(OS)会为每个线程分配执行时间。• 运行数据:.原创 2020-08-04 18:12:51 · 320 阅读 · 1 评论 -
JAVA基础 day10 集合Set,Map
SetSet接口特点:1.无序,没有下标 2.元素不能重复(添加重复只会没有,不会报错)遍历方式1.增强for 2.迭代器iterator方法全部继承与CollectionsHashSet模型是红黑树存储依据:基于HashCode,equals实现元素不重复。存储过程:根据hashCOde计算储存的位置,如果此位置没有元素,则添加如果此位置有元素,再比较equals,如果equals相同,则拒绝添加存储:hashtable(本质数组+链表)JDK1.7(数组+链表) JDK1原创 2020-08-03 19:37:04 · 257 阅读 · 0 评论 -
Java基础 day9 集合
数组长度固定,集合长度不固定(数组实现,内部也不固定)集合只能存储引用类型,数组基本类型和引用类型都可以Collection接口无下标,无序使用增强for遍历时,实际使用的是迭代器迭代器Iterator专门用来遍历几个元素的一种方法(接口)hasNext():有没有下一个元素,有返回turenext():取小哥元素remove ()删除元素 Iterator iterator = collection.iterator(); while (iterator.ha原创 2020-08-01 15:39:54 · 133 阅读 · 0 评论 -
Java基础 day8 常用类,正则表达式 异常
正则表达式用于匹配****用于字符串拆分• 查找 • 替换拆分spiltString s="my name is chi,chi!"; String [] s1=s.split("[, !]+"); for (String s2 : s1) { System.out.println(s2); }匹配matches方法 String reg="1[37]\\d{9}"; String phone="178原创 2020-07-30 21:41:10 · 326 阅读 · 0 评论 -
Java基础 day7 常用类
内部类()可以理解成对应的函数成员内部类->实力函数静态内部类->静态函数局部内部类->函数局部)编译之后可生成独立的字节码文件内部类可直接访问外部类的私有成员,而不破坏封装成员内部类与实例变量、实例方法同级别的类创建Outer out = new Outer();Outer.Inner in = out.new Inner();合并:Outer.Inner in=new Outer().new Inner;当外部类、内部类存在重名属性时,会优先访问内部类属性原创 2020-07-29 21:19:30 · 278 阅读 · 1 评论 -
java基础 day6 abstract,static,final,接口
abstract抽象类特点存在构造方法(自己因不能new不能用,这是给子类用的)可以有抽象方法,可以有实例方法抽象方法没有方法体,没 { }加;总结abstract修饰类:不能new对象,但可以声明引用。abstract修饰方法:只有方法声明,没有方法实现。(需包含在抽象类中)抽象类中不一定有抽象方法,但有抽象方法的类一定是抽象类。子类继承抽象类后,必须重写父类中所有的抽象方法,否则子类还是抽象类静态static静态场景1当属性,方法不属于对象,属于类,可为静态2.整个程序只有一份原创 2020-07-28 21:10:09 · 295 阅读 · 0 评论 -
java基础 day5 类,多态
不可继承构造方法private修饰的属性和方法父子类不在同一个package中时,default修饰的属性和方法(default指的是什么都不写时的默认值)protect属性在不同包的情况仅能在继承的类中可以访问父类属性,而实例化后对象不能访问父类属性,同包的则可以fish不能访问a属性方法重写方法名称、参数列表、返回值类型必须与父类相同。(但在jdk1.7后,返回值类型是父类返回值类型的子类也可以,此条件仅限于引用类型,基本类型的类型必须与父类的返回值类型相同)•访问修饰符可与父类相同或原创 2020-07-27 16:23:40 · 172 阅读 · 0 评论 -
java基础 day4 数组
''空字符 ""空字符串 " " 空格字符 null空引用有默认值引用类型的默认值都是null原创 2020-07-25 08:20:25 · 183 阅读 · 1 评论 -
java基础 day2(跳出多层循环的方法,return返回值)
break跳出外层循环package day2;public class TestBreak { public static void main(String[] args) { //break在二层循环中使用 //默认跳出最近的循环,如果要退出外层循环 需要使用标记 continue 也如此 hha:for (int i = 0; i<3 ; i++) { for (int j = 0; j<3; j++) {原创 2020-07-22 17:56:33 · 437 阅读 · 0 评论 -
java基础 day1
byte a=1;byte b=2; int c=a+b; System.out.println(3); //byte,short,char在运算时会自动转为int double d=(1.4-0.5)/0.9; System.out.println(d); //1.4与0.9在二进制中都无法精确表示 int k=20; for (int i = 0; i <10 ;..原创 2020-07-21 21:25:24 · 197 阅读 · 0 评论 -
Java基础 day3数组
数组的扩容public class Test {public static void main(String[] args) {int []a=new int[]{1,2,3,4,5};for (int i = 0; i < a.length; i++) {System.out.println(a[i]);} int[] b=new int[10]; for (int i = 0; i <a.length ; i++) { b[i]=a[i];原创 2020-07-23 20:15:31 · 352 阅读 · 1 评论