![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 86
Rbdash
你强不强我不知道,反正我是真的菜
展开
-
22heima-02进阶-day18 类加载器,反射
类加载器负责将.class文件(存储的物理文件)加载到内存中类加载时机:①创建类的实例(对象)②调用类的类方法③访问类或接口的类变量,或者为该类变量赋值④使用反射方式来强制创建某个类或接口对应的java.lang.Class对象⑤初始化某个类的子类⑥直接使用java.exe命令来运行某个主类类加载的流程:1.加载①通过一个类的全限定名来获取定义此类的二进制字节流②在这个字节流所代表的的静态存储结构转化为运行时数据结构。转载 2024-06-03 01:06:35 · 17 阅读 · 0 评论 -
22heima-02进阶-day17日志,枚举
static T valueOf(Class type,String name) 获取指定枚举类中的指定名称的枚举值。//static T valueOf(Class type,String name) 获取指定枚举类中的指定名称的枚举值。5.枚举类的第一行上必须是枚举项,最后一个枚举项后的分号是可以省略的,但是如果枚举类有其他的东西,这个分号就不能省略。枚举:指将变量的值一一列出来,变量的值只限于列举出来的值的范围内。2.我们可以通过“枚举类名.枚举项名称”去访问指定的枚举项。转载 2023-05-24 23:26:56 · 86 阅读 · 0 评论 -
22heima-02进阶-day16-08 网络编程
TCP通信协议是一种可靠的网络协议,它在通信的两端各建立了一个Socket对象。(客户端是Socket,服务器是ServerSocket,两者不一样)网络编程:在网络通信协议下,不同计算机上运行的程序,可以进行数据传输。协议:数据在网络中传输的规则,常见的协议有UDP协议和TCP协议。①创建客户端的Socket对象(Socket)与指定服务端连接。协议:计算机网络中,连接和通信的规则被称为网络通信协议。端口号:用两个字节表示的整数,它的取值范围是0。IP地址:设备在网络中的地址,是唯一的标识。转载 2023-05-21 23:37:22 · 76 阅读 · 0 评论 -
22heima-02进阶-day15~16多线程
void wait() :导致当前线程等待,直到另一个线程调用该对象的notify()方法或notifyAll()方法。ThreadPoolExecutor.CallerRunsPolicy:调用任务的run()方法绕过线程池直接执行。弊端:当线程很多时,因为每个线程都会去判断同步上的锁,这是很耗费资源的,无形中会降低程序的运行效率。线程死锁是指两个或多个线程互相持有对方所需要的资源,导致这些资源处于等待状态,无法前往执行。run:封装线程执行的代码,直接调用,相当于普通方法的调用,并没有开启线程。转载 2023-05-12 00:35:16 · 88 阅读 · 0 评论 -
22heima-02进阶-day13
byte[] getByte(String charsetName):使用指定的字符集将该String编码为一系列字节,将结果存储到新的字节数组中。public String readLine():读一行文字,结果包含行的内容的字符串,不包含任何行终止字符,如果流的结尾已经到达则为null。BufferedWriter(Writer cut,int sz) 创建一个新的缓冲字符输出流,使用给定大小的输出缓冲区。字节流一次读一个字节,而中文是多个字节,用字节流每次只能读其中一部分所以会出现乱码问题。转载 2023-05-05 21:33:55 · 47 阅读 · 0 评论 -
22heima-02进阶-day10~12
提供了编译时类型安全检测机制好处:1.把运行时期的问题提前到了编译期间2.避免了强制类型转换。转载 2022-11-20 02:44:46 · 63 阅读 · 0 评论 -
22heima-02进阶-day8~9
定义异常类,写继承关系。转载 2022-11-14 23:49:21 · 79 阅读 · 0 评论 -
22heima-02进阶-day6~7
Object类是所有类的直接或者间接父类,直接打印一个对象就是打印这个对象的toString方法的返回值,而Object类的toString方法得到的是对象的地址值,所以一般会重写toString方法。public static String toString(对象,默认字符串):返回对象的字符串表示形式(是空返回默认字符串,不是空返回对象)当一个类中的所有方法都是抽象方法的时候,我们就可以将其定义为接口。类和接口的关系:实现关系,可以单实现,也可以多实现,还可以在继承一个类的同时实现多个接口。转载 2022-11-12 19:17:48 · 70 阅读 · 0 评论 -
22heima-02进阶-day04~05
继承的特点:java只支持单继承(子类只能继承一个父类),不支持多继承(子类不能同时继承多个父类),但支持多层继承(子类A继承父类B,父类B继承父类C)注意:静态方法不能被重写,如果子类中,也存在一个方法声明一模一样的方法,可以理解为,子类将父类中同名的方法隐藏了起来,并非是方法重写。当子类需要父类的功能,而功能主体子类有自己特有内容,可以重写父类中的方法,这样,既沿袭了父类的功能,又定义了子类特有的内容。方法重写:在继承体系中,子类出现了和父类一模一样的方法声明(方法名,参数列表,返回值类型)转载 2022-11-07 22:33:22 · 83 阅读 · 0 评论 -
22heima-02进阶-day01~03
字符串不可变,它们的值在创建后不能被更改,但是它们可以被共享常见构造方法:public String() 创建一个空白字符串对象,不含有任何内容;public String(char[] chs) 根据字符数组的内容,来创建字符串对象public String(String original) 根据传入的字符串内容,来创建字符串对象创建一个空白字符串对象,不含有任何内容String这个类比较特殊,打印其对象名的时候不会出现内存地址,而是该对象所记录的真实内容。转载 2022-10-31 22:18:15 · 63 阅读 · 0 评论 -
贫血模型和领域模型
贫血模型就是模型对象之间存在完整的关联(可能有多余的关联),但对象只有get set方法,整个对象就是一个数据容器,所有的业务方法在一个无状态的service类中实现。贫血模型常见包结构:包含的包:dao:负责持久化逻辑model:包含数据对象,是service操纵的对象service:放置所有的服务类,其中包含了所有的业务逻辑facade:提供对UI层访问的入口优点:简单,开发迅速,事务(每一个service的每个方法)边界清楚。缺点:所有业务都在service中,业务复杂时servic转载 2021-08-08 18:40:07 · 237 阅读 · 0 评论 -
210702学习笔记(mybatis)
p2框架:软件开发中的一套解决方案,不同的框架解决的是不同的问题框架封装了很多细节,使开发者可以使用极简的方式实现功能,大大提高开发效率三层架构表现层:用于展示数据业务层:处理业务需求持久层:和数据库交互p3 jdbc操作数据库的问题分析持久层技术解决方案:JDBC技术:ConnectionPreparedStatementResultSetSpring的JdbcTemplate:Spring中对Jdbc的简单封装Apache的DBUtils:它和Spring的JdbcTe转载 2021-07-02 16:09:29 · 54 阅读 · 0 评论 -
210626旅游网基本案例(第二章)
p24 BaseServlet抽取分类信息读取tab_category修改优化servlet减少servlet的数量,现在是一个功能一个servlet,将其优化为一个模块一个servlet,相当于在数据库中一张表对应一个servlet。在这些servlet中提供不同的方法来完成用户的请求。baseservlet不需要被访问到(把那行@webservlet删了)userServlet.java@WebServlet("/user/*")//将来可以匹配 user/add user/findp转载 2021-06-28 14:24:10 · 40 阅读 · 0 评论 -
210617旅游网基本案例(用户功能部分p1-23)
后端:04-web项目旅游网-day25_综合案例1mysql之前有安过,到引导安装最后一步点execute会报错,start service红的过不去解决方法:c:/programdata/mysql文件夹全删(是隐藏)cmd运行sc delete mysql删除服务卸载mysql,删除安装文件所有东西,重装启动服务:cmd里net start mysql登录 mysql -uroot -proottomcattomcat装f盘了,解压即可,安装路径不要有中文和空格卸载:删除文件夹即转载 2021-06-19 00:46:11 · 72 阅读 · 0 评论 -
201127学习笔记(异常)
异常:指程序在执行过程中出现的非正常情况,会导致JVM非正常停止异常本身是一个类,产生异常就是创建异常对象并抛出一个异常对象,java处理异常的方式是中断处理。异常指的不是语法错误,语法错了编译不通过,不会产生字节码文件,根本不能运行异常的根类是java.lang.Throwable,其下两个子类java.lang.Error和java.lang.Exception,平时的异常指的是java.lang.ExceptionThrowable类是Java语言中所有错误或异常的父类错误和异常的区别转载 2020-11-30 09:23:27 · 329 阅读 · 0 评论 -
201104学习笔记(debug)
F8逐行执行程序F7进入到方法中shift+F8跳出方法F9跳到下一个断点,如果没有下一个断点就结束程序ctrl+F2退出debug模式,停止程序斗地主发牌:1.准备牌4x13+2List colors= List.of(“A”,“B”,“C”,“D”);List numbers=List.of(“2”,“A”,“K”…“3”);2.洗牌使用Collections中的方法shuffle(List)...转载 2020-11-05 21:22:33 · 60 阅读 · 0 评论 -
200825学习笔记(map)
将键映射到值的对象,一个映射不能包含重复的键java.util.Map<k,v>map集合的特点:1.Map集合是一个双列集合,一个元素包含两个值(一个key,一个value)2.Map集合中的元素,key和value的数据类型可以相同,也可以不同3.Map集合中的元素,key是不允许重复的,value是可以重复的4.Map集合中的元素,key和valu是一一对应的常用子类:HashMap集合的特点:1.HashMap集合底层是哈希表:查询的速度特别快2.HashMap集合是转载 2020-08-26 00:25:14 · 101 阅读 · 0 评论 -
200823学习笔记(数组,list&set集合,哈希表)
数组:查询快,增删慢链表:查询慢,增删快二叉树:分支不能超过两个排序树/查找树:在二叉树的基础上,元素是有大小顺序的,左子树小,右子树大平衡树:左孩子和右孩子相等红黑树:趋近于平衡,查询速度非常快,查询叶子节点最大次数和最小次数不超过2倍约束:1.节点可以是红色或者黑色的。2.根节点是黑色的3.叶子节点(空节点)是黑色的4.每个红色的节点的子节点都是黑色的5.任何一个节点到其每一个叶子节点的所有路径上黑色节点数相同List集合java.util.list接口 extends Coll转载 2020-08-24 01:07:50 · 152 阅读 · 0 评论 -
200817学习笔记(泛型)
泛型泛型是一种未知的数据类型,不知道使用什么数据类型的时候可以使用。泛型也可以是一个变量用来接收数据类型E e:ElementT t:TypeArrayList集合在定义的时候,不知道集合中都会存储什么类型的数据,所以类型使用泛型E:未知的数据类型public class ArrayList{public boolean add(E e){}public E get(int index){}}创建集合对象时,就会确定泛型的数据类型,把数据类型作为参数传递使用与不使用泛型的区别转载 2020-08-18 00:35:48 · 75 阅读 · 0 评论 -
200816学习笔记(集合,迭代器)
集合是java中提供的一种容器,可以用来存储多个数据,集合和数组的区别:1.数组的长度固定,集合的长度可变2.数组中存储的是同一类型的元素,可以存储基本类型数据类型值。集合存储的都是对象,而且对象的类型可以不一致。在开发中一般当对象多的时候,使用集合进行存储学习集合的目标:1.会使用集合存储数据2.会遍历集合,把数据取出来3.掌握每种集合的特性java.util.Collection接口所有单列集合的最顶层的接口,里边定义了所有单列集合共性的方法任意的单列集合都可以使用public b转载 2020-08-16 23:35:55 · 96 阅读 · 0 评论 -
200816学习笔记(包装类)
基本数据类型的数据使用起来十分方便,但却没有对应的方法来操作这些数据。所以我们可以使用一个类,把基本类型的数据包装起来,这个类叫包装类。在包装类中可以定义一些方法用来操作。java.lang包提供的包装类:byte,short,int(Integer),long,float,double,char(Character),boolean装箱与拆箱以int与Integer为例装箱:把基本类型的数据,包装到包装类中(基本类型的数据->包装类)构造方法:Integer(int valu)构造一个新转载 2020-08-16 15:43:44 · 79 阅读 · 0 评论 -
200815学习笔记(System类,StringBuilder类)
java.lang.System类中提供了大量的静态方法,可以获取与系统相关的信息或系统级操作,常用的方法有public static long currentTimeMillis():返回以毫秒为单位的当前时间public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length):将数组中指定的数据拷贝到另一个数组1.public static long currentTimeMillis():返转载 2020-08-16 14:08:38 · 116 阅读 · 0 评论 -
200813学习笔记(Date类)
java.util.Date,精确到毫秒System.out.println(System.currentTimeMillis());//获取当前系统到原点有多少毫秒构造方法public class Demo02Date { public static void main(String[] args) { demo01(); demo02(); demo03(); } /* 空参数构造方法: Date()转载 2020-08-14 00:40:55 · 96 阅读 · 0 评论 -
200812学习笔记(tostring,equals)
java.lang.Object类是java语言中的根类,即所有类的父类toString public static void main(String[] args) { /* Person类默认继承了Object类,所以可以使用Object类中的toString方法 String toString() 返回该对象的字符串表示 */ Person p=new Person("mike",18); St转载 2020-08-13 00:06:02 · 65 阅读 · 0 评论 -
200810学习笔记(内部类)
如果一个事物的内部包含另一个事物,那么就是一个类内部包含另一个类分类:1.成员内部类2.局部内部类(包含匿名内部类)成员内部类的定义格式:修饰符 class 外部类名称{修饰符 class 内部类名称 {//…}//…}注意:内用外随意访问不受权限影响,外用内需要内部类对象...转载 2020-08-10 19:11:21 · 65 阅读 · 0 评论 -
200807学习笔记(final,权限修饰符)
final关键字代表最终不可改变的,常见四种用法:1.可以用来修饰一个类2.可以用来修饰一个方法3.可以用来休息一个局部变量4.可以用来修饰一个成员变量1,修饰一个类当final关键字修饰一个类的时候,格式:public final class 类名称{…}当前这个类不能有任何的子类注意:一个类如果是final的,那么其中所有的成员方法都无法进行覆盖重写(因为没子类)public final class MyClass { public void method(){转载 2020-08-08 01:54:23 · 44 阅读 · 0 评论 -
200806学习笔记(多态)
extends继承或者implements实现,是多态性的前提代码中体现多态性:父类引用指向子类对象格式:父类名称 对象名=new 子类名称();接口名称 对象名=new 实现类名称();Father obj=new Son();转载 2020-08-06 21:28:45 · 90 阅读 · 0 评论 -
200806学习笔记(接口)
接口是多个类的公共规范,接口是一种引用数据类型,最重要的内容是其中的抽象方法定义一个接口的格式public interface 接口名称 {// 接口内容}备注:换成了关键字interface之后,编译生成的字节码文件仍然是.java->.class如果是java 7,那么接口中可以包含的内容有:1.常量2.抽象方法如果是java 8 ,还可以包含有:3.默认方法4.静态方法如果是java 9,还可以包含有:5.私有方法接口使用步骤:1.接口不能直接使用,必须有一个“实转载 2020-08-06 19:08:49 · 104 阅读 · 0 评论 -
200803学习笔记(继承)
继承主要解决的问题是共享抽取父类//定义一个父类:员工public class Employee { public void method() { System.out.println("方法执行!"); }}子类public class Teacher extends Employee { public void methodSon(){}}主方法public class Teacher extends Employee { publi转载 2020-08-04 00:48:08 · 78 阅读 · 0 评论 -
200730学习笔记(static、Arrays,Maths)
只有在类当中保存唯一一份,那所有本类对象共享同一份。一旦用了static关键字,那么这样的属性就不在属于对象自己,而是属于类的,凡是本类的对象都共享同一份转载 2020-07-30 00:37:04 · 63 阅读 · 0 评论 -
200723学习笔记(String)
字符串的内容永不可变,是常量,可以共享使用字符串效果上等于cha[]字符数组构造方法:1.public String();创建一个空白字符串,不含任何内容2.public String(char[] array);根据字符数组的内容,来创建对应的字符串3.public String(byte[] array);根据字节数组的内容,来创建对应的字符串4.String str=“hello”;直接创建,直接写上双引号就是字符串对象,不用写newpublic class Demo01Stri转载 2020-07-24 00:51:44 · 72 阅读 · 0 评论 -
200717学习笔记(java scanner,匿名对象,Random,对象数组,ArrayList)
实现键盘输入到程序中,S是大写的说明是一个类而非关键字引用类型的使用步骤:1.导包import 包路径.类名称;如果需要使用的目标类和当前类位于同一个包下,则可以省略导包语句不写只有java.lang包下的内容不需要导包,其他的包都需要import语句要写在public之前,package之后2.创建类名称 对象名=new 类名称();3.使用对象名.成员方法名()获取键盘输入的一个int数字,int num=sc.nextInt();获取键盘输入的一个字符串,String str=转载 2020-07-17 00:51:18 · 66 阅读 · 0 评论 -
200712JAVA学习笔记(封装 set get)
面向对象三大特征:封装,继承,多态。封装:一旦使用了private进行修饰,本类中仍可随意访问,超出本类范围就不能再直接访问了。间接访问private成员变量,就是定义一对getter/setter方法public class Person { String name; private int age; public void show() { System.out.println("我叫"+name+",年龄"+age); } pub转载 2020-07-13 01:00:39 · 104 阅读 · 0 评论 -
200623学习笔记(JAVA基础)
基本数据类型整数型: byte short int long浮点型:float double字符型:char布尔型:boolean引用数据类型:字符串,数组,类,接口,lambda转载 2020-06-29 08:52:41 · 62 阅读 · 0 评论 -
11.12学习笔记(java数组)
数据类型 数组名称 []=new 数据类型[长度];数据类型 [] 数组名称=new 数据类型[长度];二维数组数据类型 数组名称[][]=new 数据类型[][] {{},{},…}数组操作的支持拷贝System.arraycopy(源数组名称,源数组开始点,目标数组名称,目标数组开始点,长度)排序java.util.Arrays.sort(数组名称)对象数组的动态初始化类名...转载 2018-11-13 15:52:59 · 145 阅读 · 0 评论 -
11.13学习笔记(java包)
package cn.test.lxh 每一个都是一级文件夹-d 表示生成目录,根据包的定义生成. 表示在当前所在的路径下生成编译:javac -d . Test.java运行:java cn.test.lxh.Test有包的类执行的时候一定要加上包名称,不要进入到包里面执行。从任何实际的开发来讲,所有的类一定要放在一个包之中,没有包的类是绝对不会存在的利用包可以实现程序的分割,...转载 2018-11-15 13:22:54 · 112 阅读 · 0 评论 -
11.15学习笔记(java包)
protected类类名称 单词首字母大写 public class TestDemo方法名 首单词小写其他单词首字母大写 public void getInfo()属性名 与方法名规则相同 String studentName包名 全部小写 package cn.demo;常量 全部大写 public static final String INFO;单例设计模式class Sin...转载 2018-11-15 16:31:30 · 142 阅读 · 0 评论 -
11.8学习笔记(java抽象类,接口)
6.5 抽象类抽象类属于一个不完整的普通类,这种不完整的类必须舒勇abstract关键字进行声明。同时在抽象类之中还可能包含有抽象方法,即那些只声明而未实现的方法,所有的抽象方法没有方法体,必须使用abstract关键字进行定义abstract class A{ //定义抽象类public void fun(){System.out.println(“helloworld”);}//...转载 2018-11-12 12:45:37 · 384 阅读 · 0 评论 -
12.17学习笔记(JAVA类)
class Outer{ //定义外部类 private String title="Hello World"; public void fun(){ new Inner().print(); } class Inner { //定义内部类 public void print(){ System.o...转载 2018-12-17 14:41:54 · 97 阅读 · 0 评论 -
12.18学习笔记(JAVAstring类)
String中==与equals()的区别"= ="属于JAVA提供的关系运算符,主要进行对象的地址数值比较equals()属于String类中的一个方法,主要是进行字符串内容的比较。String类对象两种实例化的区别构造方法:会产生两块堆内存空间,其中一块将成为垃圾,并且不会自动入池保存,用户可以通过intern()方法手工入池。直接赋值:只会产生一块堆内存空间,可以自动入池保存。字...转载 2018-12-18 18:01:23 · 109 阅读 · 0 评论