Java基础
文章平均质量分 71
渔~
希望5年以后的自己,不会怨恨现在的自己。2029年换身份证的时候,我再来给我这个答案
展开
-
IO
io 在Java程序中,对于数据的输入/输出操作以“流”(Stream)方式进行;J2SDK提供了各种各样的“流” 类,用以获取不同种类的数据:程序中通过标准的方法输入或输出数据 Java.io 包中定义了多个流类型(类或抽象类)来实现输入/输出功能;可以从不同的角度对其进行分 类: 按数据流的方向不同可以分为输入流和输出流 按照处理数据单位不同可以分为字节流和字符流 按照功能不同可以分为节点流和处理流 这四个类都是抽象类 输入流: InputStream (字节流) Reader(字符流) 输原创 2021-04-16 20:14:31 · 89 阅读 · 0 评论 -
GUC篇
八锁现象 synchronized 锁的对象是方法的调用者 同一对象的两个方法用同一个锁 谁先拿到谁先执行 两个对象 两个同步方法 不同的对象两把锁 通过延迟的时间片来判断(sleep)(同一个类的不同对象的锁互不干扰) 两个静态同步方法 (非静态锁对象 静态锁类)static类一加载就有 锁的是class模板 class对象全局唯一 所以是按线程调用顺序执行 一个同步方法 一个静态同步方法 (两把锁 对象锁 类锁) 两个锁 (类锁和对象锁互不干扰) 本质上还是在抢锁(类锁是一种特殊的对象锁)原创 2021-04-16 20:13:05 · 527 阅读 · 0 评论 -
第九篇 JDBC
JDBC 初始化驱动 通过Class.forName("com.mysql.jdbc.Driver"); 初始化驱动类com.mysql.jdbc.Driver 建立与数据库的连接 conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/how2java?characterEncoding=UTF-8", "root", "123456"); Statement 是用于执行SQL语句的,比如增加,删除 创建和获取state原创 2021-04-16 11:07:17 · 94 阅读 · 0 评论 -
反射
反射 动态编译 测试脚本引擎rhino 可以进行对内容的修改操作 字节码操作类库 javassist https://blog.csdn.net/HC199854/article/details/107252867 反射reflect 对象.getName() 获得包名加类名 getSimpleName 获得类名 getFields() 只能找到public属性 getDeclaredField 能找到所有的属性 getMethods() 获得本原创 2021-04-16 10:46:59 · 67 阅读 · 0 评论 -
第六篇3 网络编程
网络编程 网络通信的两个要素 通信双方的地址:ip和端口号 网络通信协议:OSI参考模型(太理想化)和TCP/IP协议(事实上的国际标准) 向下数据封装,向上数据拆封 ip地址 InetAddress java中使用getByName方法来获取地址 本地回环地址hostAddress:127.0.0.1 host文件地址 c:\windows\system32\drivers\etc\hosts 端口号 端口标识正在计算机上运行的进程 不同的进程由不同的端口号,用来区分软件 被规定一个16位原创 2021-04-15 11:32:29 · 55 阅读 · 0 评论 -
第六篇2 多线程
线程的5个状态 线程从创建、运行到结束总是处于下面五个状态之一:新建状态、就绪状态、运行状态、阻塞状态及死亡状态。 1.新建状态 当用new操作符创建一个线程时。此时程序还没有开始运行线程中的代码。 2.就绪状态 一个新创建的线程并不自动开始运行,要执行线程,必须调用线程的start()方法。当线程对象调用start()方法即启动了线程,start()方法创建线程运行的系统资源,并调度线程运行run()方法。当start()方法返回后,线程就处于就绪状态。 处于就绪状态的线程并不一定立即运行run()方法原创 2021-04-14 16:51:13 · 45 阅读 · 0 评论 -
第八篇 JVM的基本知识
jvm jvm运行和类加载全过程 先加载了类,加载完在进行初始化 初始化完成后加载该方法 jvm 先进行静态代码块 构造代码块 然后构造器 (多个静态资源取决于编译的先后顺序) 类成员在对象创造前执行 static修饰的变量 在创建对象前进行初始化操作 储存在堆中 运行时常量池在元空间(方法区就是元空间) 字符串常量池在堆 栈 stack: 每个线程私有,不能实现线程间的共享! 局部变量放置于栈中。 栈是由系统自动分配,速度快!栈是一个连续的内存空间! 堆 hea原创 2021-04-14 15:42:44 · 113 阅读 · 0 评论 -
第七篇 SQL从安装到卸载
狂神说Java 什么是数据库 数据库 DataBase 简称db 数据库管理系统 DataBase Management System 简称DBMS sql是非过程化语言 数据库设计过程阶段 按照规范的设计方法,一个完成的数据库设计一般分为以下六个阶段: 1. 需求分析: 分析用户的需求,包括数据、功能和性能需求; 2. 概念结构设计:主要采用E-R模型进行设计,包括画E-R图; 3. 逻辑结构设计:通过将E-R图转换成表,实现从E-R模型到关系模型的转换,进行关系规范化; 4. 数据库物理设计:主要原创 2020-11-27 18:42:11 · 233 阅读 · 0 评论 -
第五篇2 容器的复习整理
集合框架 Collection接口存储一组不唯一 无序的对象 所有实现了Collection接口的容器类都有一个iterator方法用以返回一个实现Iterator接口的对象 List接口存储一组不唯一有序的对象 arraylist实现了长度可变的数组 在内存中分配连续的空间 可以动态增长和缩减 底层是数组 类型object 可以存放空值 本质是elementData数组 linkedlist 链表存储方式 插入删除效率高 非线程安全的异步的 顺序存储结构双向链表 linkedLi原创 2020-11-26 17:15:11 · 89 阅读 · 0 评论 -
第五篇 容器
范式 泛型的本质就是“数据类型的参数化”。 我们可以把“泛型”理解为数据类型的一个占位符(形式参数),即告诉编译器,在调用泛型时必须传入实际类型。 泛型 <> 使用了泛型的集合中,遍历时不必进行强制类型转换,jDK提供了支持泛型的编译器,将运行时的类型检查提前到了编译时执行,提高了代码可读性和安全性。 容器中使用的范式 List<String> list = new ArrayList<String>(); Set<Man> mans = n原创 2020-09-22 19:59:45 · 87 阅读 · 0 评论 -
第四篇 异常
异常的种类 Error Java虚拟机运行错误( Virtual MachineError ) 堆内存溢出错误 oom OutOfMemoryError 类定义错误( NoClassDefFoundError ) 链接错误( LinkageError ) Exception Exception是程序本身能够处理的异常, Exception类是所有异常类的父类,其子类对应了各种各样可能出现的异常事件。 通常Java的异常可分为: RuntimeException 运行时异常 CheckedExcep原创 2020-09-22 18:30:39 · 65 阅读 · 0 评论 -
第二篇 面向对象
面向对象 面向对象的三大特性:封装继承和多态原创 2020-09-08 21:13:55 · 97 阅读 · 0 评论 -
第一篇 基础数据篇
基本数据类型 数据0开头为8进制 ox代表16进制 在数据后加L可以把数据转化为long类型 浮点数存在舍入误差,很多数字不能精确表示,如果需要进行不产生舍入误差的精确数字计算,需要使用bigdecimal类,精确运算尽量避免使用flout byte 一个字节 -128~127 short 两个字节 有符号类型 -32768~32767 无符号类型 0~65535 int 四个字节 long 八个字节 flout 四个字节 double 八个字节 char 两个字节 Boolean 只占一位 字符原创 2020-09-05 18:24:30 · 397 阅读 · 0 评论 -
学习Java需要了解的一些知识
学习Java前的准备工作 博主前期是使用的eclipse开发的,现在不是流行idea开发吗? idea的操作方式 基础的话博主推荐尚学堂的高淇老师的Java300集 在这里普及一点学Java之前的准备工作 原码反码补码 Java的命名规范 命名规则 见名起意 变量和方法名:首字母小写和驼峰命名法 常量:大写字母加下划线 类名:首字母大写和驼峰原则 环境变量的作用 path是用来找命令行执行文件的 classpath是用来找编译后的class文件 JAVA_HOME是用来找jdk的 常见的dos命令原创 2020-09-04 11:21:49 · 255 阅读 · 0 评论