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