java基础
文章平均质量分 72
杨·戬
孤舟蓑笠翁 独钓寒江雪
展开
-
java之多线程
要么继承这个类,要么通过去实现Runable接口,然后通过Thread构造函数传进行传入,然后在调用star()开启run里面的线程代码。阻塞状态:遇到sleep方法,join方法,失去了可运行资格,要是在运行,必须先回到可运行状态抢夺时间片段。就绪状态:可运行状态,表示当前线程具有争夺cpu时间片的执行权,这里表他有即将可运行的资格。先来看一个类----Thread类 ,你要做一个线程,必然要和这个类有关系。第二种方式:去实现Runable接口,然后Thread类的构造参数进行传入。原创 2023-09-03 20:44:14 · 137 阅读 · 0 评论 -
java的序列化与反序列化
说白了,就是把一个实现了Serializable接口(只有实现了这个接口的类才能被序列化与反序列化)的类去变成本地文件保存。说白了,就是把上面保存的本地文件,一般保存为.ser后缀名的文件,通过对象输入流,给加载到内存里面去。原创 2022-12-15 14:13:42 · 344 阅读 · 0 评论 -
javase之序列化与反序列化
3.如果一个可序列化对象包含了某个不可序列化对象的引用,那么整个序列化是会失败的,并且会抛出一个NotSerializableException,我们可以将这个引用标记为transient,表示为短暂的,此时该变量就无法被序列化,然后对象依旧可以被序列化。一个类如果想被序列化,则必须实现java.io.Serializable接口,这个接口没有定义任何方法,是一个标志性接口,当一个类实现了该接口,就表示这个类的对象是可以被序列化的。2.如果一个对象的成员变量是一个对象,那么这个对象的数据成员也会被保存。..原创 2022-08-09 16:12:07 · 429 阅读 · 0 评论 -
java之javascript基础
前言:js的地位就不用说了,前端脚本之王,作为后端开发,也是一个必须了解掌握到的技术。如何引入js脚本:既然js是写前端的,那么js一定会和html标签搭配使用,下面给出html内部引入js代码的二种方式js的数据类型:关于js的一些变量命名,运算符,循环语句:能学到js,基础应该是有的,所以我这就不过多去阐述这些东西.........原创 2022-05-24 21:55:34 · 1291 阅读 · 0 评论 -
java之JdbcTemplate技术
之前去连接一个数据库,我们注册驱动,得到连接对象,然后得到语句句柄,再来执行,这玩意有点麻烦,每次都要这样写一套,然后才能进行sql语句的查询和其他操作。那么后来我们把连接对象与关闭对象这个工作给拿了出来,把需要里注册的数据库连接,用户名,密码,数据库名都放到一个properties的配置文件里面。先来看这个配置文件utils.properties配置文件,这个文件直接放在了src目录下面其实driver这个数据库驱动的注册完全可以省略,因为数据库管理接口在调用getConnection()原创 2022-03-25 18:59:38 · 2752 阅读 · 0 评论 -
java之beanutils技术
用来操作对象,给对象属性赋值。我们之前用到的就是构造函数,然后set与get 方法先来看一个User对象类package domain;import java.util.Date;/** * 用来为其赋值 */public class User { private int id; private String username; private String password; private char gender; private Da原创 2022-03-21 14:01:13 · 2179 阅读 · 0 评论 -
java之jdbc数据库连接技术
上面说到JDBC是一组接口组成的,下面我们就必须知道JDBC的核心API,也就是常用是哪些接口与类:下面大致说一下执行流程:然后我们看一个普通实例:在写这个实例之前,我来说两点:第一点:JDBC这一系列接口都是由相应厂商实现的,也就是说,我们想要用到这些已经做好的接口,就必须去导入相应厂商的jar包,这里我用的JDBC jar包是:注意右键add as library才能作为库让我们调用。第二点:关于注册数据库驱动的问题,我们说了Driver这个类是我们必须要用到的...原创 2022-02-11 14:22:54 · 1080 阅读 · 0 评论 -
java之匿名对象,成员内部类,局部类部类,匿名内部类
整体分析如下:匿名对象大致内存空间:下面说一下成员内部类的用法:先看一个inner.java:package innner;public class Inner1 { int age = 25; String name = "孙悟空"; String skill = "我能吹牛逼"; public Inner1() { } public Inner1(int age, String name) { thi原创 2022-02-08 12:51:14 · 528 阅读 · 0 评论 -
java之MySQL事务处理
废话不多说,直接看图:上面就是一个简单的事务流程 ,其实呢,在我们平时操作的MySQL语句都涉及到了事务处理,每一条语句都是一个事务,mysql客户端默认是开启了自动提交事务,可以这样查看:上面1就是开启自动提交事务,当我们提交sql语句的时候,mysql就自动帮我们commit了。我们可以马上就会查看到相应的结果。我们可以关闭上面的自动提交事务,可以如下设置:0就代表关闭了自动提交。那么我们展示一下,关闭了自动提交之后,语句会怎么处理,说一下,你要看MySQL语句执行之后的原创 2022-01-18 19:04:04 · 2025 阅读 · 0 评论 -
java之mysql多表查询
单纯的一张表的select查询,显然是已经不够用了,我们必须联合多张表,进行数据的联查。因为写数据的信息,他不是存放在一张表中。比如现在有两张表:原创 2022-01-18 02:53:08 · 819 阅读 · 0 评论 -
java之mysql查询,备份,约束与设计
下面说一下数据库的备份相关问题:下面是关于数据库表的约束问题,这个主要用来限制表中的数据,不符合要求的数据将无法插入到表中原创 2022-01-17 22:55:26 · 552 阅读 · 0 评论 -
java之mysql基础
MySQL既然是数据库语言,自然也有相应的数据类型:下面在来说说具体的操作细节:先来说一下表的创建,典范:not NULL不为这个默认值,没啥意思,AUTO_INCREMENT这个是用来设置主键自动增长的,主键id也可以这样来设置id int not null primary key auto_increment最后一个定义语句语句可以不用加逗号,注意观察,设置默认引擎ENGINE=InnoDB ,主键增长起始值AUTO_INCREMENT = 4,设置了默认字符集......原创 2022-01-15 14:55:18 · 513 阅读 · 0 评论 -
java之注解
下面来说一下注解形式:原创 2022-01-15 11:55:19 · 192 阅读 · 0 评论 -
java之反射技术
反射就是从内存当中找类的相关信息,从而构建一个对象,然后可以执行一系列的操作简单说一下,类的字节码文件被加载到内存之后,就会构建一个Class对象,来保存相关类的信息与接口,我们反射的目的就是拿到这个Class对象进行操作。既然是对象,那么内部就会有很多功能,有什么功能推也能推测出来,对象嘛,就有什么涉及成员变量的,成员方法的,还有构造方法,......原创 2022-01-13 14:47:41 · 315 阅读 · 0 评论 -
java之junit单元测试
下面说一下Junit测试中,对方法的常用注解:代码不上了,自己去写,测试原创 2022-01-09 23:15:01 · 279 阅读 · 0 评论 -
java之Stream流与方法引用
内部传入了Predicate函数式接口,里面有一个方法是booleantest(Tt),也就是他是一个判断过滤函数,不满足条件的数据流会被踢出去。为啥说无参数,因为调用了一个已经存在了的方法,别人已经把参数做好了,你还要啥参数,只需要这个方法匹配就可以了。首先说明一下,什么是操作函数,就是调用这个函数之后,依然会给我们返回这个流,不会结束。因为方法引用本质就是,调用了一个已经实现了函数式接口的方法。上一个对象,其实就是实现了函数式接口里面的方法。里面是一个Consumer接口,它的抽象接口是。...原创 2022-01-09 18:27:26 · 1175 阅读 · 0 评论 -
java8之函数式接口、lambda表达式
函数式接口的定义:一个抽象方法的接口,采用@FunctionalInterface注解的接口先来说一下lambda表达式:主要是作用在函数式接口上面()->一个单纯的操作可以啥都不加,分号也可以不用写(参数传递)->{有多个操作的情况,加分号,有return要return}其实上面就可以看成是一个匿名内部类的一个简化。因为就是说,匿名内部类他其实就是借助了父类的类名或者接口名来做这样一个类,必须存在继承或者实现这样一种关系,那么lambda其实就是一种只有一个抽象方法的接原创 2022-01-09 15:18:43 · 409 阅读 · 0 评论 -
java文件操作之缓冲字节流与字符流
首先我们必须明白凡是缓冲流,都不具备文件读写能力其次就是缓冲流,内部都是维护了一个特别大的数组,也就是说,先把数据存放到数组上去,然后等数组满了或者手动刷新在输出到指定的地方。说一下它的优势:避免频繁的读取硬盘,读写文件从硬盘频繁与内存产生交互,非常浪费效率与浪费时间,如果先读到数组里面,在一下把数据取出去,效率就比较高。下面说一下缓冲字节输入流与输出流:看一下缓冲输入输出读取文件过程分析:上面非常显著就是直接与内存打交道,一旦缓冲满了,在一下刷出去比较一下加...原创 2022-01-08 00:32:35 · 576 阅读 · 0 评论 -
java文件操作之字节流与字符流
字节流需要用到的类:字符流需要用到的类:说一下读写操作大致过程:一般如果纯文本,我们最好用字符流,但是如果图片,这种按照字节拼接,就采用字节流下面看一下代码实例:我们从一张盘拷贝一张照片到另外一张盘import java.io.*;public class ImageCopy { public static void main(String[] args) { File srcFile = new File("F:\\pxx\\1....原创 2022-01-07 01:46:00 · 2713 阅读 · 0 评论 -
字符集编码问题
下面来分析一下java中文件读取乱码问题:然后看一下我们读取代码:必须保证文件编码类型,读取类型,写入类型都一致,就不会出现乱码问题//采用字符流来读取文本操作 public static void copyText(File srcFile,File destFile) { InputStreamReader fr = null; OutputStreamWriter fw = null; try { f...原创 2022-01-07 01:44:28 · 211 阅读 · 0 评论 -
java文件编程
下面测试一个函数renameTo(File dest):import java.io.File;public class RenameFile { public static void main(String[] args) { //同一目录下,记得把文件路径写全 File file = new File("F:\\pxx\\pxx1604285880956216.txt"); File destFile = new File("F:\\..原创 2022-01-06 16:18:17 · 350 阅读 · 0 评论 -
jdk8的新特性
常用函数式接口有且只有一个抽象方法的接口可以用@FunctionInterface来检测一下这个接口是不是函数式接口使用:一般作为方法参数和返回值类型Lambda表达式,来作为函数式接口参数的调用就非常简洁在这里,我们用lambda表达式来替代一个匿名内部类,这样文件在编译的时候,就不会多生成一个不必要的类,减少内存开销这里,我始终是认为,匿名内部类有点太麻烦,写法太繁琐函数式编程日志:快速定位问题,对项目进行监控与优化Lambda特点:延迟加载Lambda使用前提...原创 2021-07-17 19:07:18 · 109 阅读 · 0 评论 -
java之网络编程
在一定协议下下面,实现网络通讯位于同一个网络的计算机在进行连接和通信的时候需要遵守一定的规则TCP/IP:transmission control protocol/Internet protocol发送端与接收端建立逻辑连接,然后传送数据。Tcp连接必须明确 客户端与服务器端,建立三次握手1.客户端发送请求,让服务器确认2.服务器端进行响应,通知客户端收到请求3.客户端再次向服务器确认UDP:user datagram protocol用户数据报协议,无连接通讯协议,资源小,通信原创 2020-12-04 18:59:50 · 203 阅读 · 0 评论 -
object类与String类
Object类是所有类的终极父类。 任何一个类都继承了Object类。sun提供了很多类。我们利用javap来反编译一下类文件:public class Demo79{ public static void main(String[] args){ System.out.println("i love you"); System.out.printl...原创 2019-07-17 12:19:22 · 254 阅读 · 0 评论 -
java基础第二篇
说一下构造代码块的问题:如果所有对象都需要自动执行的一段代码,我们就可以放到构造函数里面,也就是说,把这个代码块放到函数里面。但是,有一个问题,我们每次new一个对象,都会在推上面开一个空间来放这些函数代码,有点浪费空间。那如果我们放到构造代码块里面呢。他放在方法区,公共区域,也就是说,new的时候,每一个对象都会指向这个区域,而不会单独开一个空间,浪费内存。这个的执行方式:{...........原创 2019-07-07 11:02:17 · 451 阅读 · 0 评论 -
java基础第三篇
多态的应用:1. 多态用于形参类型的时候,可以接收更多类型的数据 。2. 多态用于返回值类型的时候,可以返回更多类型的数据。多态的好处: 提高了代码的拓展性。需求1: 定义一个函数可以接收任意类型的图形对象,并且打印图形面积与周长。*///图形类abstract class MyShape{public abstract void getA.........原创 2019-07-03 23:13:35 · 295 阅读 · 0 评论 -
java基础第四篇
自定义异常类:系统提供的异常类不足需求:模拟feiq上线如果没插网线,就抛出一个没插网线的异常,如果,插上网线,正在显示好友列表。利用ip来判断一下有没有网线这里模拟成字符串。自定义一个类来继承Exception类:自做:完成这个ip异常处理利用父类的Exception来处理异常对象我们还可以不捕获,继续抛出去,比如main调用,我们就抛给虚拟机1.演示一...原创 2019-07-04 15:25:14 · 178 阅读 · 0 评论 -
java导包语句(权限修饰符与打jar包)
开发过程中,可能会造成类名重复的问题,然后编译覆盖前面编译的东西。包:相当于是Windows中的文件夹定义包的格式:package 包名;包名命名规范:包名全部小写。包语句要注意的事项:1. package语句必须位于java文件中中第一个语句,之前不能有其他任何代码语句2. 如果一个类加上了包语句,那么该类的完整类名就是: 包名.类名(加一个相应包文件,然后把相应文件...原创 2019-07-07 00:24:56 · 541 阅读 · 0 评论 -
字符串缓冲类
字符串是常量,从内存分析角度来说,我们就可以知道,不能被轻易改变类似于上面的情况,这种情况他就会马上创建一个新对象。,但是我们是对原字符串进行一些合理的操作,也就是说给人的一种感觉注意: 字符串的内容不适宜频繁修改,因 为一旦修改马上就会创建一个新的对象。如果需要频繁修改字符串 的内容,建议使用字符串缓冲 类(StringBuffer)。StringBuffer其实就是一...原创 2019-07-18 09:48:12 · 191 阅读 · 0 评论 -
java基础第一篇
java跨平台性java跨平台性是通过虚拟机jvm来决定的软件模拟的计算机java源程序编译成字节码(.class)相当于c的二进制可执行文件jvm:相当于是操作系统+硬件环境 java解释器相当于cpu上上面说了一个java的运行流程下面来说一下JDK里面包含了java运行环境,java开发工具,java基础库类http://www.oracle.com/index....原创 2019-04-14 14:58:31 · 337 阅读 · 0 评论