![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 63
欧吉吉
这个作者很懒,什么都没留下…
展开
-
jvm笔记 (未完结)
一,PC寄存器功能:主要负责记得当前线程的执行指令地址,每个 线程都会有各自的pc寄存器,因为在多线程坏境中,需要知道切换线程后,当前线程执行到哪个位置,当切换回来的时候,通过寻找到这个位置继续执行程序既不会发生gc,也不会发生oom,是线程私有的二,虚拟机栈管理java程序运行,保存方法的局部变量(如果是引用类型则报存引用地址),部分结果,参与方法的调用和返回。内部保存的基本单位是栈帧,每个栈帧对应一个方法。生命周期和线程一样,不会触发gc,是线程私有的优点:栈是一种快速有效的分配存储结构原创 2021-01-11 22:47:26 · 168 阅读 · 0 评论 -
序列化
一,序列化id/** * 单品表 */@Getter@Setter@ToStringpublic class Product extends BaseImgModel implements Serializable { private static final long serialVersionUID = 1L; /** * 单品id */ @TableId(value = "product_id", type = IdType.AUTO)原创 2021-01-04 23:29:26 · 127 阅读 · 0 评论 -
java 泛型边界 多继承的问题
一,前言最近在做项目代码优化的时候,运用泛型来接受参数,从而让方法达到重用的效果。然后我想起之前看到过的一个面试问题:有没有使用过继承?java中有多继承吗?有用过extends多个对象吗?在java里,类都是单继承的,接口可以多继承。对于extends多个对象,是在泛型里边有出现过,但是其实并不是真正的多继承。二,具体代码分析在使用泛型确定边界的时候,这个不就是多继承了吗?其实并不是真正的多继承。BaseExcel是一个类,ProductService是一个接口,这种写法相当.原创 2020-12-30 22:48:46 · 1760 阅读 · 0 评论 -
StringJoiner
一,前言在项目里,经常会用到字符串拼接,例如,拼接多个水果名称,用竖线隔开: apple|orange|banana注意,在最后是没有这个分隔符竖线的,这里我们可能 就需要用到逻辑操作去除最后的竖线。但是,最近发现一个类可以完美完成以上功能。它就是StringJoiner。二,StringJoiner2.1构造函数StringJoinerpublic StringJoiner(CharSequence delimiter) { this(delimite..原创 2020-12-07 21:17:15 · 230 阅读 · 0 评论 -
Arrays.copyOf与System.arrayCopy
一,Arrays.copy因为根据数组的类型不同,有很多的重载方法,这里就取出int类型来分析。 public static int[] copyOf(int[] original, int newLength) { int[] copy = new int[newLength]; System.arraycopy(original, 0, copy, 0, Math.min(original.length, new原创 2020-11-21 14:59:21 · 241 阅读 · 0 评论 -
io-RandomAccessFile类
一,本章目标1.掌握RandomAccessFile类的作用2.可以使用RandomAccessFile类读取指定位置的数据二,具体内容RandomAccessFile类的功能主要是完成随机读取功能,可以读取指定位置的内容。此类的构造方法:public RandomAccessFile(File file ,String mode) throws Fil原创 2017-08-26 20:51:26 · 333 阅读 · 0 评论 -
io-字符流与字节流
一,本章目标掌握流的概念掌握字节流与字符流的作用掌握文件的标准操作步骤掌握字节与字符操作的区别二,具体内容 2.1 流的概念 在程序中,所有的数据都是以流的方式进行传输或者保存的,程序需要数据的时候要使用流读取数据,当程序需要将一些数据保存起来的时候,需要使用输出流来完成。程序中的输入和输出都是以流 的形式保存的,流中保存的实际上全都原创 2017-08-25 10:13:10 · 309 阅读 · 0 评论 -
io--File类
一,本章目标①掌握File类的作用②可以使用File类中的方法对文件进行操作二,具体内容在整个java学习中,比较苦难的地方是IO,因为整个IO包是庞大的,而且又很多操作类,每个类都有各自的特点。如果面向对象各个概念非常轻蹙,则学习比较容易。File类:在整个io包中,唯一表示与文件本身有关的类就是File类。使用File类可以进行创建或者删除文件等常用原创 2017-08-26 14:16:53 · 317 阅读 · 0 评论 -
io-字节和字符转换流
一,本章目标①掌握OutputStreamWriter和InputStreamReader类的作用二,具体内容在整个io包中,实际上就是分为字节流和字符流,但是除了这2个流之外,还存在了一组字节流-字符流的转换类OutputStreamWriter:是Writer的子类,将输出的字符流变为字节流,即:将一根字符流的输出对象变为字节流的输出对象InputStreamRea原创 2017-08-27 15:20:45 · 401 阅读 · 0 评论 -
IO-内存操作流
一,本章目标①掌握内存操作流的作用二,具体内容问题:Input为什么变成写入到内存中呢?此时操作的时候应该以内存为操作点。利用此类完成一些功能。ByteArrayInputStream:构造方法:public ByteArrayInputStream(byte[] buf)接受一个byte数组,实际上内存的输入就是在构造方法上将数原创 2017-08-27 15:47:49 · 331 阅读 · 0 评论 -
IO-管道流
一,本章目标1,掌握线程通讯流(管道流)的使用二,具体内容要想实现管道流,则可以使用PipedOutputStream和PipedInputStream。在PipedOutputStream类中有一个方法: public void connect(PipedInputStream snk) throws IOException如果想要连接输入和输出,原创 2017-08-27 16:19:09 · 383 阅读 · 0 评论 -
Annotation--反射与Annotation
一,本章目标可以通过java反射机制取得使用的全部Annotation可以通过java反射机制取得指定的Annotation二,具体内容一个Annotation如果想要变得有意义,则必须结合反射机制取得Annotation中设置的全部内容。以上的代码给toString方法设置了三个Annotation,但是由于只有Deprecated的范围是RUNTIM原创 2017-09-13 15:06:42 · 302 阅读 · 0 评论 -
Annotation--深入了解Annotation
一,本章目标掌握@Target注释的作用掌握@Documented注释的作用掌握@Inherited注释的作用二,具体内容之前定义的Annotation,如果没有明确的说明,可以在任意位置上使用。如果现在需要指定其使用的范围,则必须使用@Target注释,在@Target蛛注释里有一个枚举的ElementType属性,定义此属性可以指定其使用范围现在定义原创 2017-09-13 15:31:50 · 350 阅读 · 0 评论 -
java数据库编程--JDBC概述
一,本章目标了解jdbc的作用了解jdbc的主要接口二,具体内容在数据库编程中一切都是以SQL语句为操作的标准的,所以只要更好地掌握了SQL语法,则可以更加方便地开发各种用户所需要的程序。在本章将介绍部分SQL语法。在jdbc中所有的类和接口都保存在java.sql包中。实际上来说,jdbc本身是一个操作的标准,所有的数据库生产商,只要是想支持java,则肯原创 2017-09-13 15:45:29 · 999 阅读 · 0 评论 -
java数据库编程--MySQL数据库
一,本章目标了解MySQL数据库掌握MySQL数据库的安装及其配置掌握MySQL中的基本操作命令二,具体内容安装MySQL:MySQL是windows的一个程序,可以直接打开完成之后,可以在Windows的服务之中看到MySQL三,总结原创 2017-09-13 16:35:08 · 499 阅读 · 0 评论 -
java数据库编程--SQL语法基础
一,本章目标了解SQL的分类掌握SQL语法中的增加,删除,修改,查询语句二,具体内容在现在的数据库系统中,基本上都是支持标准的SQL语法。检索和修改数据是开发中经常用到的。了解即可,不需记忆。增加操作id标号因为是自动增加的原创 2017-09-13 16:51:43 · 614 阅读 · 0 评论 -
线程--认识多线程
一,本章目标①了解进程与线程的区别②掌握java线程的两种实现方式及其区别③了解线程的操作状态二,具体内容2.1进程与线程DOS系统有一个非常明显的特点,只要一中病毒之后就会立即死机,因为传统的DOS系统是采用单进程的处理方式,所以只能有一个程序独自运行。Windows系统中,即使出现了病毒,系统也看可以正常使用,因为在windows中采用的是多原创 2017-09-05 21:21:30 · 301 阅读 · 0 评论 -
IO-打印流
一,本章目标①掌握打印流的操作②掌握格式化输出二,具体内容2.1 打印流在整个IO包中,打印流是输出信息最方便的类,主要包含字节打印流(PrintStream)和字符打印流(PrintWritwer)。打印流提供了非常方便的打印功能,可以打印任何的数据类型,例如:小数,整数,字符串等。回顾:之前在打印信息需要使用OutputStreaam,但是这样原创 2017-08-28 14:19:45 · 384 阅读 · 0 评论 -
IO-System类对IO的支持
一,本章目标①掌握System对IO的三种支持:System.out,System.err,System.in②掌握System.out及System.err的区别③掌握输入,输出重定向二,具体内容使用static final声明是全局常量,只要是常量,则单词字母需要大写,这也属于java的遗留问题。2.1 System.out使用Syst原创 2017-08-28 15:01:38 · 490 阅读 · 0 评论 -
线程--线程常用的操作方法
一,本章目标①了解设置和取得线程的名称②了解线程的强制运行③了解线程的休眠④了解线程的礼让⑤了解线程的中断操作二,具体内容在多线程中所有的操作方法实际上都是从Thread类操作开始的。2.1 取得和设置线程名称构造方法中能传入一个字符串,表示线程的名字。还有,线程尽量在启动之前设置名称,避免重名。而且在Thread类之中原创 2017-09-06 15:43:21 · 276 阅读 · 0 评论 -
线程--同步与死锁
一,本章目标①了解线程同步的作用②了解同步代码块及同步方法的作用③了解死锁的产生二,具体内容说明:在多线程的开发中,同步与死锁的概念是非常重要的,一定要掌握以下几点:①那里需要绒布②如何实现同步,代码了解即可③实现同步之后有什么副作用问题引出:以卖火车票为例,如果想买火车票,可以去火车站购买或者去各个售票点,但是火车的票数是固定的,如果把原创 2017-09-06 21:28:41 · 337 阅读 · 0 评论 -
io-bufferedReader类
一,本章目标①掌握BufferedReader类的作用②掌握键盘输入的基本形式二,具体内容buffer表示缓冲区,缓冲区的内容可以更改,提高效率。如果想要接受任意长度的数据,而且避免乱码产生,可以使用bufferedReader类System.in本身是InputStream(字节流),现在需要接受一个字符流,则需要做一个转换。通过InputStre原创 2017-08-29 14:42:38 · 438 阅读 · 0 评论 -
IO-实例操作
实例代码: 先做一个数据转换类,把输入的数据固定为整型,然后再做加法。也可以将输入数据的类进行进一步的修改,可以处理更多的数据类型,例如:日期,小数,浮点数。修改如下:分析:总结在开发中,一定要先完成功能,然后在讨论类的设计(多次调用一个类会怎么样?)一个主方法就原创 2017-08-29 14:56:56 · 272 阅读 · 0 评论 -
线程--线程的生命周期
一,本章目标①了解线程的生命周期②了解线程的停止操作二,具体内容一个新的线程创建之后通过strat方法进入到运行状态,在运行状态中可以使用yield方法进行礼让,但是仍然可以进行,如果现在一个线程需要暂停的话,可以使用suspend,sleep,wait方法,如果现在线程不需要再执行,可以通过stop方法停止,如果run方法执行完也表示结束,或者一个新的线程直接调用原创 2017-09-07 15:21:55 · 309 阅读 · 0 评论 -
反射--认识Class类
一,本章目标①掌握Object类中的getClass方法②认识java的反射机制二,具体内容在正常情况下,知道一个类的完整路径之后才可以实例化对象,但是在java中也可以通过一个对象来找到类的信息。此时,所有的操作都是反着来的,是通过对象来找到类的信息。Class本身表示一个类的本身,通过Class可以完整的得到一个类中完整的结果,包括此类的方法定义原创 2017-09-07 15:23:23 · 285 阅读 · 0 评论 -
反射--Class类的使用
一,本章目标①可以使用Class了完成对象的实例化操作②通过Constructor类调用有参构造方法完成对象的实例化操作二,具体内容Class主要是反射的源头,不光可以取得对象所在类的信息,也可以直接通过Class类的方法进行对象的实例化操作,使用关键字new为对象实例化,如果现在已经实例化好了Class对象,则就可以通过Class类中提供的:public T newI原创 2017-09-07 15:58:47 · 283 阅读 · 0 评论 -
反射--取得类的结构
一,本章目标1.可以使用反射取得实现的全部接口2.可以使用反射取得一个类所继承的父类3.可以使用反射取得一个类的全部构造方法4.可以使用反射取得一个类中全部的方法5.可以使用反射获得一个类中的全部属性二,具体内容一个操作类如下:package 取得类的结构;public class Person implements China{ Stri原创 2017-09-07 16:00:16 · 270 阅读 · 0 评论 -
IO-scanner类
一,本章目标①掌握Scanner类的作用②使用Scanner接受输入数据二,具体内容通过三个操作例子学习Scanner类的数据输入:①实现基本数据的输入②实现日期格式的数据输入③从文件中得到数据例子代码如下:以上的代码,虽然完成了输入数据的功能,但是还存在一个问题:如果输入的数据之间隔了空格,则会以空格为分隔符原创 2017-08-30 11:03:26 · 329 阅读 · 0 评论 -
IO-数据操作流
一,本章目标①掌握DataOutputStream和DataInputStream的作用②可以使用DataOutputStream和DataInputStream写入和读取数据二,具体内容如果想要使用数据操作流,则肯定要由用户自己制定数据的保存格式,必须按照制定好的格式保存数据,才可以使用数据输入流将数据读取进来。此类的定义如下:pu原创 2017-08-30 20:58:16 · 343 阅读 · 0 评论 -
IO-合并流
一,本章目标1.掌握合并流的作用二,具体内容合并流:从概念上讲就是把内容合并在一起。类的定义:它是InputStream的子类。三,总结1.了解合并流的使用原创 2017-08-30 20:59:04 · 288 阅读 · 0 评论 -
IO-压缩流
一,本章目标①了解压缩流的主要作用②了解Java IO支持的三种压缩格式③掌握ZipOutputStream,ZipFile,ZipInputStream三个类的作用二,具体内容经常可以看见各种压缩文件:zip,jar,gz。正常情况下,在IO操作中,所有的类库都在IO包中。注意:实例化ZipEntry的时候,要设置名称原创 2017-08-30 21:13:20 · 347 阅读 · 0 评论 -
反射--反射机制的深入研究
一,本章目标使用反射调用类中的指定方法使用反射完成setter和getter方法的调用使用反射直接操作类中的属性使用反射操作数组二,具体内容2.1通过反射调用类中的方法正常情况下,一个类的对象产生后就可以直接调用类的方法。如果想调用的话,则肯定必须清楚地知道要调用的方法名字是什么,之后通过Class类中的public Method getMethod原创 2017-09-08 14:19:55 · 212 阅读 · 0 评论 -
IO-字符编码
一,本章目标①了解常用的几种编码②掌握乱码的产生原理二,具体内容 如果没有处理好编码的事情,则肯定在程序中出现乱码。System类可以取得系统的相关信息,一直在接触此类。因为本机环境是中文环境,所以使用的是GBK进行编码,如果在程序中使用ISO8859-1,肯定会乱码。如果要编码,则要使用String类的支持。public b原创 2017-08-31 12:25:19 · 307 阅读 · 0 评论 -
java数据库编程--JDBC操作步骤以及数据库连接
一,本章目标掌握JDBC操作的步骤掌握数据库驱动程序的配置方法可以使用JDBC进行数据库链接二,具体内容JDBC本身是一个标准,其操作步骤是固定的,以后只要修改很少的一部分代码就可以达到不同数据库之间的链接。如果想要链接数据库,则要使用链接地址。数据库的链接是有限的,打开之后就一定要关闭。配置数据库的驱动程序数据库原创 2017-09-18 14:59:43 · 686 阅读 · 0 评论 -
java数据库编程--执行数据库更新操作
一,本章目标可以使用Connection对象取得Statement实例可以使用Statement进行数据增加,修改,删除操作二,具体内容所有的操作都必须从连接展开,通过连接取得操作的接口实例。实例代码如下:以上的程序是将sql语句固定好了,如果现在希望具体的内容是一个变量,则可以修改代码如下:问题来了,结束操作的时候为什么需要2次关闭数据原创 2017-09-18 15:40:33 · 3190 阅读 · 0 评论 -
java数据库编程--ResultSet接口(查询操作)
一,本章目标掌握ResultSet接口的主要作用使用ResultSet接口查询数据二,具体内容数据库的操作主要分为增删查改,查询操作会将全部的结果返回给用户。在操作的时候使用Statement中的executeQuery方法进行数据库的查询操作,此方法返回值就是RusultSet接口。查询实例操作:注意,如果生日的格式里月份是一个数字的话,要在前原创 2017-09-18 16:07:44 · 1358 阅读 · 0 评论 -
IO--实例操作
FileOperate类:操作的是人员信息,一定要定义Person类。修改Operate类:这样就大概地完成了人员管理系统的功能了。原创 2017-09-01 14:50:04 · 212 阅读 · 0 评论 -
io-实例二
因为程序中要使用对象数组的排序方式,所以在Student类里要实现Comparable接口学生类代码如下:此类的对象数组可以使用Arrays.sort()直接排序。定义一个操作数据的类:定义一个操作器:package 实例二;import java.io.IOException;import java.util.Arrays;public class原创 2017-09-01 16:02:24 · 248 阅读 · 0 评论 -
java数据库编程--PreparedStatement接口
一,本章目标掌握PreparedStatement接口的工作原理可以使用PreparedStatement进行数据库的更新以及查询操作二,具体内容此类是Statement的子类。使用Statement操作的时候,肯定要执行的是一条完整的sql语句,执行之前是使用Connection直接创建的。Connection接口:PrepareStateme原创 2017-09-18 18:53:23 · 640 阅读 · 0 评论 -
java数据库编程--处理大对象数据(处理CLOB数据)
一,本章目标了解大对象处理的基本原理掌握CLOB数据的读,写操作可以使用Clob类方便的处理大文本数据二,具体内容 注意,大对象处理只能通过预处理来完成。即使使用PreparedStatement来完成。实例操作如下:往数据库存入大的文档。下面使用io进行读取操作,读取的时候也须有用到io流的操作,实例如下:原创 2017-09-18 19:51:09 · 866 阅读 · 0 评论