Java笔记
Jacob*y
一名专科学生,梦想是用技术改变世界,哈哈哈当然先定个小目标,成为一个优秀程序员
展开
-
servlet,service方法,post方法,get方法
你就把它当成一个exe,你可以通过浏览器远程去执行在服务器上的它。当然,服务器上可能不止有一个这样的exe,那么如何决定你访问哪个servlet?其结果为,所以我们可以看到,是先执行service再执行get方法的。这样看来好像是多此一举,我直接写get和post不好吗?这时候就不需要post河get都写一遍了,增大代码量。不论你是登录,找回密码,忘记密码。service方法中集成了get和post方法。我都需要对客户端的请求统一进行机器人验证处理。但是面对请求,可能会有大大量统一处理部分。原创 2022-11-02 16:52:02 · 605 阅读 · 0 评论 -
java笔记37,Lambda表达式
针对于有且仅有一个抽象方法的接口例如说我们的Runnable接口需要一个接口,需要一个方法在方法使用到“接口”类型的参数的时候可直接在()中重写方法如果参数只有一个,可以省略小括号如果代码块语句只有一条,可以省略大括号和分号。如果是return语句,return也得省略也可以使用抽象类或者具体类来实现”“也就是说use方法中,可以是接口,抽象类,具体类..总结lambda表达式必须要接口,且唯一抽象方法而匿名内部类没有这么多要求匿名内部类会自动生成一个类。...原创 2022-07-27 14:26:43 · 148 阅读 · 0 评论 -
java笔记36,网络编程
Socket简单通信,先启动接收端。相对简单些,毕竟人家都给你封装好了。原创 2022-07-23 12:30:39 · 154 阅读 · 0 评论 -
java笔记35,线程
我们知道java中的线程使用的是抢占式线程调度方式,所以需要根据优先级来判断线程的执行顺序。方式1继承Thread类classtest2extendsThread。要注意,这些操作是对本线程内的,也就是说,如果wait了,就不执行下面的语句了。自动同步的数据结构(线程安全),都是使用synchronized实现同步。为了使多线程修改同一数据不会造成读脏数据,重复修改,等错误。Thread中的静态方法,用于返回当前正在执行的线程对象。只有join的线程结束后,其他线程才可以执行。...原创 2022-07-22 16:03:58 · 159 阅读 · 0 评论 -
java笔记34,输入输出流,打印流,对象序列化
使用transient修饰的成员变量,将不参与序列化,也就是说存储的类中剔除了这条属性。为了避免该异常,我们需要给序列化的类加入对象(42L可修改);把对象存储到文件中,并且可以进行反序列化操作,对象的文件读写。如果文件不是单存储了对象,而有其他杂物,再次读取会出现异常。以ID号来标识对象,这样就不会混了。把对象存入集合,集合写入文件。从文件读取对象,对象存入集合。文件集合内存。以下是对象的读写演示。...原创 2022-07-22 13:00:16 · 106 阅读 · 0 评论 -
java笔记33,IO流,缓冲流,复制文件,字符流
读写IO流,把规整好的IO流一次性写入磁盘,比多次读写磁盘要快的多,(一个是内存读写,一个是磁盘读写,内存比磁盘快得多)字符流有五种读写方式单字符,char数组,char数组截取,string,string截取。磁盘——>内存——>输入流——>输出流——>输入流复制到输出流——>从内存写入磁盘。UTF-8英文字母一字节,拉丁文2字节,中文3字节,复杂不常用字符4字节。UTF-8和Unicode使用的并非固定字节大小,根据字符类型,而变换。也就是说,需要读取磁盘到内存,在内存中复制,复制完了,写入磁盘。...原创 2022-07-21 16:20:33 · 110 阅读 · 0 评论 -
java笔记32,IO流
通常,人类可以识别的文字,使用字符流(推荐使用字节流)所有字节流类的超类,他俩都是抽象类,无法直接实例化。指的是从内存”输出“到硬盘(写操作)指的是从硬盘“输入”到内存(读操作)字节以二进制,字节为单位读写。IO流,又分为字节流和字符流。字符按字符为单位,读写。......原创 2022-07-17 16:38:53 · 103 阅读 · 0 评论 -
java笔记2.31,File文件
通过递归遍历D盘目录(深度优先)文件的打开,以及一些简单方法。文件和文件夹的增删操作。原创 2022-07-17 15:29:06 · 87 阅读 · 0 评论 -
java笔记2.30,map集合
HashMap的基本操作(方法)Map的遍历方式有两种方式entryset方式先获取键,再通过键获取值集合与集合之间可以嵌套那应该也可以通过重写笔记方法来指定排序方式Collections≠CollectionCollections是一个具体类,Collection是集合的顶层接口Collections中包含对集合操作的各种方法案例分析:模拟打扑克发牌...原创 2022-07-13 15:27:16 · 73 阅读 · 0 评论 -
java笔记2.29,泛型
K,E,T,V通常就指泛型,就像cpp中的Temple泛型方法每多一个类,就多写一遍重载方法,代码冗余过高,所以使用泛型泛型接口学到这里应该知道,泛型就是一个类型,泛指所有类型类型通配符(简)变参变参就是一个数组,也可能是其他类型数组String类型注意点:调用可变参数可以没有参数:即参数个数为0-NString sum(String b,String…a):正确String sum(String…a,String b):错误举例:几个内置利用了可变参数的方法...原创 2022-07-12 16:06:20 · 105 阅读 · 0 评论 -
java笔记2.28集合3
TreeSet集合比较器通过重写Comparator方法来实现排序,他会有个默认的排序方法(自然排序)自然排序:通过字母A~Z排序重写后,则按照重写后的排序方式来排序逐步拆解:Set对象名=new TreeSet(参数);前面一直所用的是无参构造集合,现在我们使用有参构造..参数是一个Comparator比较器,比较Teacher类型并且使用匿名内部类的特点,重写compare方法new Comparator(){public int compare(Teacher o...原创 2022-07-12 14:31:52 · 136 阅读 · 0 评论 -
java笔记2.27,集合2
对首尾元素的增删改查set集合,HashSet记住,set和list,还有collection都是接口,他们是没有构造的!但是可以根据多态来实例化set集合不存储相同数据,set集合存储顺序无法保持,hashset不能使用普通for遍历怎么实现不存储相同数据?通过比较哈希值来实现不存储相同的数据相同字符串具有相同的HashCode,如果HashCode相同,再比较字符串是否相同哈希值HashCode默认情况下,使用object中的hashCode()方法不可能出现相同的hashcode除非原创 2022-07-10 16:20:00 · 100 阅读 · 0 评论 -
java笔记2.26集合1
注意:Collection和Map都是接口,不可以直接使用比较特别的是,Collection不可以通过at(下标)直接访问,需要借助迭代器List集合同Collection,是个接口,不可以直接被实例化,但可以被多态创建,继承后创建两大特点:有序,可存储重复数据,索引操作要保证索引存在List特有方法:指定位置加入对象,不可以越界跳远void add(int,object)移除指定位置的对象,并且返回object remove(int)修改指定索引处的对象object set(int,obje原创 2022-07-09 17:12:09 · 212 阅读 · 1 评论 -
java笔记2.25异常
常见的有:数组越界,除数与被除数是0…object 是所有类的直接或间接父类Throwable类分为Exception,errorerror错误一般无法处理,需要程序员来处理,属于严重问题Exception分为运行时异常,runtime非运行时异常,编译期的问题Exception in thread “main” :异常所在线程java.lang.ArrayIndexOutOfBoundsException: 3:异常的类型at TempAndTest.test1.main(test1.j原创 2022-07-09 15:21:35 · 362 阅读 · 0 评论 -
Java笔记2.24桶排序,基数排序
桶排序把数据分到不同的桶中,在桶中排序好,再按桶的顺序输出基数排序有点像桶排序的改编根据个位,十位,百位,重新排序堆排序堆排序有点像摘果子,每次把最大的摘掉,然后又重新长出来最大的,继续摘...原创 2022-07-08 15:02:22 · 79 阅读 · 0 评论 -
java笔记2.23,计数排序
计数排序就是一种利用统计的排序,统计数组中每种数据出现的次数适用于:重复率大,数值范围小的数据,如果数据量大可以起到压缩空间的作用原创 2022-07-07 16:36:20 · 158 阅读 · 0 评论 -
java笔记2.22,归并排序
其特点是,需要额外空间来进行归并操作(我觉得可以优化,以区间代替,不必开新内存)先将数组一分二,二分四…如果数组长个数为:5,3,则分为(3,2),(2,1),再继续分,直到(1,1)(1,1)取两个被切分的相邻数组,进行归并操作当然,被归并的两个数组可以”不一样长“t1:1,2,3,9t2:4,5,6,10t3:1...原创 2022-07-07 14:59:14 · 158 阅读 · 0 评论 -
java笔记2.21,快速排序
快速排序核心思想:下标为0,1,还含有区间分成子序列(0,L-1R-1)(L-1R-1,1)(0,1-1)(1+1,1)(0,0)(2,1)if(L>=R)return;没有区间了,进行返回原创 2022-07-07 13:14:41 · 103 阅读 · 0 评论 -
java笔记2.20 希尔排序
希尔排序原创 2022-07-06 14:32:48 · 134 阅读 · 0 评论 -
java笔记2.19日期Date
注意格式对应,数值前的0可以缺省Calendar多态,儿子,孙子都可以赋父类原创 2022-06-24 13:19:40 · 54 阅读 · 0 评论 -
Java图
深度优先遍历,广度优先遍历,邻接表原创 2022-06-23 09:09:56 · 60 阅读 · 0 评论 -
java笔记2.18栈和队列
栈和队列队列栈原创 2022-06-20 14:25:12 · 61 阅读 · 0 评论 -
java笔记2.17二叉树
二叉树原创 2022-06-19 20:46:55 · 57 阅读 · 0 评论 -
java笔记2.15
就是个数值类封装先看构造integer类自己的构造已过时不推荐使用,更推荐使用valueOf()valueOf()public static字符串转值,对于每个类而言不一样(多态)部分要求必须是数值字符串int——>stringstring——>int案例:字符串排序装箱,封装...原创 2022-06-17 09:59:52 · 63 阅读 · 0 评论 -
java笔记2.14
类内容比较,类地址比较,类类型比较关于toString()getClass()// getClass.getName() 获取类名// getClass().getSuperclass 获取父类// ()getClass().getField(变量名) 获取类中成员变量// getClass().getDeclaredMethod(“方法名”,参数) 获取类中方法final,private,static,只可通过类名静态调用,同Math类sort()方法, 排序记得导包...原创 2022-06-16 14:43:56 · 51 阅读 · 0 评论 -
java笔记2.13
Math类不可以实例化,只能通过Math类名调用其中的静态方法因为math类的构造是private访问权限System类System.currentTimeMillis()System.exit(0);根据currentTimeMillis()计算当前时间object类所有类都之间或者间接继承object类,它是所有类的超类由于多态,所有类都可以由object类,达到多态的效果所以所有类都有tostring方法,也都包含object中的成员方法......原创 2022-06-15 16:05:15 · 84 阅读 · 0 评论 -
java笔记2.12
根据抽象特性,其形参和返回值实际上都是抽象类的子类,而不是抽象类。抽象类是无法实例化的,更不可能使用在参数和返回值...同理,接口也一样抽象类做形参和返回类型接口类型做形参和返回类型内部类在第一轮我们学习过外部类,内部静态类,局部类,匿名类实现,函数式编程成员内部类(如上例)局部内部类(方法中的类)匿名内部类(归属于局部内部类)...结合多态特性,也可以使用对象保存匿名的类,本质就是将该类继承...原创 2022-06-14 15:01:33 · 70 阅读 · 0 评论 -
java笔记2.11
昨天四级,痛斥食堂二十多分钟,写挺爽的,把不满都给写了出来,就是…分没了哎罢了罢了这样看来接口和类,并没有什么太大的区别,但是既然存在即合理,必然有其存在的道理接口中变量默认是final不可更改例如:一下例子中的 test2类中的num,就相当于public final static int num=100;(好长一段修饰符)构造方法接口中不允许有构造方法,接口是没有构造方法object类是所有类的超类一般方法一般方法都是抽象方法,不允许有方法体案例:迄今为止,所以我们可以知道,java原创 2022-06-12 15:00:59 · 81 阅读 · 0 评论 -
java笔记2.10
今天是抽象类(C++中应该是叫虚基类)先复习一下多态抽象:类和方法但是有什么用呢?有什么特别的?.....需要没有方法体的方法抽象类不能直接使用,不可直接实例化抽象类中不一定是抽象方法但含抽象方法,就一定是抽象类二种用法1. 重写抽象类中所有抽象2. 子类也是抽象类......貌似并没有什么好处强制要求重写方法强制继承后才可使用(保证安全性?)…...............原创 2022-06-10 14:13:40 · 67 阅读 · 0 评论 -
java笔记2.09
包:可以理解为一个文件夹,文件夹下有很多类可以使用,这个文件夹就叫包这是一个测试类,生成包package 后面路径是哪里,就得将生成的class放在哪也支持多级目录,多级使用成员符号隔开也可以使用” javac -d . test.java“直接生成文件夹,不需要手动移class......再用另一个类去导包,并且使用文件结构,b类导MyPackage包中的,test类test.java文件位置不重要,重要的是class文件位置必须在包内权限修饰符:public:公共priva原创 2022-06-09 18:02:28 · 63 阅读 · 0 评论 -
java笔记2.07
继承可以极大的提高代码复用,对于一个完善的类,子类也能避免许多错误但是对于子类来说,子类无法丢弃父类中的东西,必须跟随着父类变换不过我觉得也不算啥大问题;实在父类要变,再从上上层,继承一个次级父类...原创 2022-06-06 20:57:13 · 57 阅读 · 0 评论 -
java笔记2.06(小结)
学生管理系统仅仅在内存中运行,不包含长期存储功能原创 2022-06-05 22:46:47 · 52 阅读 · 0 评论 -
java笔记2.05
昨天学习的是,string和stringbuilder类StringBuilder和String互转String无法直接接收StringBuilder类型不兼容的类型: StringBuilder无法转换为String集合集合就可以理解为数据结构吧,链表,树,图…队列,栈…ArrayList集合类型使用:ArrayList..........感想:像Java这种封装十分的方便,也极大的提高了安全性。但同时也舍去了一部分自由性,例如指针,引用类型,以及对贴近二进制...原创 2022-06-04 12:02:27 · 70 阅读 · 0 评论 -
java笔记2.04
接下来才是真正的进入学习Java中new过以后的类和数组可以引用赋值即两个指针(栈)指向同一块内存(堆)this:this是finally的不允许修改,this是非静态的因此静态方法不能直接使用(可以通过传参?)String类型构造示例Java中的"=="号字符串比较案例:用户登录案例案例:遍历字符串案例:统计字符出现次数案例:int转string,拼接这种拼接实际操作是每次都会创建一个新对象,对空间比较浪费案例:字符串翻转string.endwith()StringBuil原创 2022-06-03 17:23:42 · 72 阅读 · 0 评论 -
java笔记2.03
数组基本操作数组最大值方法:也就是cpp中的函数方法重载要求:参数不同,参数类型,参数个数,参数顺序疑问:Java中没有指针,那么如何实现引用传递?例如这种C++效果怎么实现?这就很烦,很难搞,java中并不存在这种功能要么搞成数组要么就自己写个类要么给他返回这。。。。有点复杂啊案例,减肥计划案例:逢7过原创 2022-06-02 18:58:55 · 63 阅读 · 0 评论 -
java笔记2.02
&和&&区别|和||区别区别在于,执行到一半就可以判断结果了,因此双写可能只执行一半以下情况只执行括号内即可确定结果0&&1==(0&1)&11 || 1 ==(1|1)|1原创 2022-05-31 11:57:30 · 110 阅读 · 0 评论 -
java笔记2.01
java几个重要版本:2004:java5.02014:java8.02018:java10.0JVM是什么?它凭什么能跨平台?JVM:Java Virtual Machine java虚拟机它从软件层面屏蔽了底层硬件、指令层的细节,使得兼容各种系统...许多函数库会因为平台的关系,导致不能通用或者实现函数不同例如:C++: Messagebox,我要创建一个弹窗Linux:这是啥呀,没见过这个函数啊Windows:收到,马上创建...而java实现了统一Mac,Li原创 2022-05-30 18:53:40 · 78 阅读 · 0 评论 -
java笔记1.25
Socket实现文件传输,图片,文档…import java.io.ByteArrayOutputStream;import java.io.FileInputStream;import java.io.InputStream;import java.io.OutputStream;import java.net.Socket;import java.net.InetAddress;// 文件传输public class SocketClient { public static原创 2022-05-29 13:59:44 · 83 阅读 · 0 评论 -
java笔记1.24
网络编程入门socket先运行服务端,再运行客户端import java.net.InetAddress;import java.net.ServerSocket;import java.net.UnknownHostException;import java.net.Socket;import java.io.*;public class SocketClient { // 服务端 public static void main(String[] args) {原创 2022-05-28 17:49:15 · 70 阅读 · 0 评论 -
java笔记1.23
基础知识补漏父类有”不含参“构造子类会先去执行父类的构造函数class C0 { // c0类有两个构造 public C0(int x) { System.out.println("C0" + x); } public C0() { System.out.println("C0"); }}// 如果父类创建"不含参"构造函数// 子类创建构造函数没有限制,且先执行父类构造函数class C1 extends C0 {原创 2022-05-27 11:15:52 · 172 阅读 · 0 评论