Java笔记
小白屠龙纪
这个作者很懒,什么都没留下…
展开
-
对象流和序列化
序列化就是把实例的对象转换成字节的形式,方便在网络或者磁盘当中传递,并且保证数据的完整性。序列化也就引出了反序列化,反序列化就是在磁盘当中读取出来数据并重新构造成对象,注意,序列化存在id。序列化只需要实现Serializable接口或者Externalizable接口就可以ObjectInputStream输入流可以把实例化的对象写入到本地文件当中,要写入的对象必须经过序列化。ObjectOutputStream输出流可以把本地文件当中已经序列化的对象重新组装成对象,并且保持原有数据。...原创 2022-06-22 15:26:12 · 159 阅读 · 0 评论 -
file类
java文件中对文件的读写的操作是通过io流技术的实现file类可以表示一个文件也可以表示一个目录。file的常用方法:file.exists:判断目录是否存在file.mkdir():创建单个目录file.mkdirs();创建多个目录file.isDirectory();路径是否是文件夹file.isfile():路径是否是文件file.delete():删除单个目录或者文件file.listFiles():获取当前路径下的所有我呢见,存入file[]集合当中file.createNewFile();创原创 2022-06-20 21:59:11 · 51 阅读 · 0 评论 -
sping基本入门
控制反转: 基于注解和反射的原理在程序运行时创建类对象。所有的对象都存储在ioc容器当中第一步导入依赖第二步创建spring配置文件applicationContext.xmlbean属性name :相当于起别名可以使用,;或者空格分割scope:决定类是否是单例prototype是非单例默认是singleton是单例lazy-init:设置注入的类什么时间初始化,默认为false,当创建application 对象时就初始化所有的类,true只有调用到类的时候才初始化init-method:初始化原创 2022-06-14 17:03:49 · 85 阅读 · 0 评论 -
final和finally和finalize
final用来修饰属性作为常量,不可改变,用来修饰方法,此方法不可被覆盖,用来修饰类,当前类不可以被继承finally放在try{}catch{}之后,作为不论异常是否发生都会执行的代码,大部分的情况下用来关闭资源。但是在jdk1.7之后增加了try-with-resources语句作为资源的管理try-with-resources语法:finalize垃圾回收机制finalize是object的方法,用来处理垃圾的回收,但是在jdk1.9之后垃圾机制已经很便捷了,所以官方把垃圾回收机制作为不推荐的方法原创 2022-06-14 15:45:48 · 245 阅读 · 0 评论 -
数组和集合
map,数组,集合对数组进行排序:默认升序Arrays.copyOf(数组名,长度);将数组复制一份。Arrays.toString()将数组转换成一个字符串Arrays.fill(数组,值) 给数组填充默认的值Arrays.binarySearch(数组,值)在有序的列表下,对数组进行二分查找,返回值为第一个找到的下标Arrays.deepToString()多维数组转换成字符串数组是同一类型的多条可重复数据组成的一个集合,他在初始化的时候就确定了长度,如果想要获取数组中的值可以通过数组的下标获...原创 2022-06-13 21:24:30 · 82 阅读 · 0 评论 -
StringBuffer和Stringbuilder的区别
stringbuffer和stringbuilder都不同于string,string当修改字符串时,是在内存中创建一个新的字符串,并把地址传给string 对象,因此比较浪费空间,而stringbuffer和stringbuilder是在初始时创建一个容器,当修改的时候会修改容器中的内容,而不是创建一个新的容器,所以如果有一个需要频繁改变的字符串的话,最好不要使用string。string buffer和stringbuilder的方法基本上相同stringbuffer线程安全的使用synchroniza原创 2022-06-10 16:42:45 · 23273 阅读 · 2 评论 -
重写和instanceof
重写就是子类对父类方法的方法的重新定义,方法名相同,方法参数相同,并且方法的返回值类型也要相同原创 2022-06-10 08:49:28 · 112 阅读 · 0 评论 -
mybatis准备环境
1.导入jar包2.导入mysql驱动3.构建mybatis-config.xml文件resource是你的sql映射文件的名字,注意是否是同一级别如果不是需要加路径4.创建sql映射文件UserMapper.xml User建议是表名usermapper.xml文件namespace是你选择调用的哪一个sqlresultType是你的实体类id是你查询这个数据的名字5.测试...原创 2022-06-09 11:26:49 · 63 阅读 · 0 评论 -
面向对象的特征
所谓的对象其实就是通过java类所产生的实体。例如:盖楼房的图纸就是Java类,根据这个图纸修建起来的能够被看见,被使用的这个实际存在的楼房,就是相当于是用过这个图纸得到的对象。Java类实际是一个抽象意义上的概念,对象就是通过这个java类的抽象概念具体化之后的一个具体概念。public 公开的 可以被继承protected 本类和子类和同包的都可以访问default(默认) 在当前的包下可以访问private 私有的方法类的属性私有化封装之后外界不能直接访问我们认为重要的信息,需要使用我们提供的g原创 2022-06-08 19:33:30 · 57 阅读 · 0 评论 -
jdbc连接mysql
加入maven配置druid.properties文件获取连接池原创 2022-06-07 19:49:09 · 161 阅读 · 0 评论 -
while和do while
while和do…while都是循环语句,while进入循环之前需要先进行判断是否符合条件,do…while第一个进入循环不需要判断循环条件可以直接执行。while 语句do … while 语句while 示例do…while 示例原创 2022-06-06 21:18:59 · 764 阅读 · 0 评论 -
String
string是一种引用类型,他是对字符串的一种操作,但是因为他是一种引用类型,所以当他改变的时候,他其实是在重新创建一个新的对象。1.equals()比较两个字符串的值,注意调用此方法的字符串建议一定是一个存在值的对象2.equalslgnoreCase():比较两个字符串,并且忽略大小写3.toString():打印出类的地址值,如果想要打印类的属性就需要重写同String()方法;4.(String):强制将某些类型转换成string类int,double不可转5.String.valueOf(原创 2022-06-01 16:29:52 · 226 阅读 · 0 评论 -
javase小知识 &与&&,|与||
&与&&,|与||逻辑运算符与(&,&&),或(|,||);&和&&都代表与也就是and,|和||都代表或者也就是or;他们的判断结果相同,但是运算的效率不同;&和|当一个条件能够决定整个结果的时候,并不会停止判断,&&和||当一个条件能够决定整个结果的时候就不会继续判断; //&与&& System.out.println(true&true)//true System原创 2022-05-27 15:13:47 · 45 阅读 · 0 评论 -
判断字符串是否为空或者空格
package com.wc.utils;public class StringUtils { /** * 判断字符串是否为空 * @param cs * @return */ public static Boolean isEmpty(CharSequence cs) { return cs == null || cs.length() == 0; } /** * 判断字符串的是否为空或者空格原创 2022-03-28 22:42:55 · 1456 阅读 · 0 评论 -
单例设计模式
单例设计模式饿汉式1.需要有一个私有静态的返回实体类属性2.构造方法私有化3.声明一个静态的方法返回值为当前类对象,对其判断私有属性是否有值,如果有值则返回,无值则new创建实例化对象public class App { private static App app;//需要有一个私有静态的返回实体类属性 private App(){ //构造方法私有化 } public static App newApp(){ if(app==n原创 2022-03-21 21:57:06 · 43 阅读 · 0 评论 -
md5加盐加密
MD5加盐加密public static void main(String[] args){ try { MessageDigest md5 = MessageDigest.getInstance("md5");//构造md5信息摘要器 String s = "a"; byte[] bytes = s.getBytes();//字符串转换为字节数组 byte[] digest = md5.digest(bytes);//md5加密字节原创 2022-03-21 21:42:29 · 323 阅读 · 0 评论 -
lambda表达式
lambda表达式lambda表达式是对与只有唯一的一个抽象方法的接口的快速重写这个接口也叫做Functional Interface(函数式接口),这样写可以减少匿名内部类的创建;语法:(obj o,…) ->{代码块;} o为函数式接口的参数如果没有可以不写,数据类型可以省略,代码块如果有返回值在代码块中填入即可;new 接口(){ public void 方法名(参数列表){ 参数体; }};示例:new Thread(new Runnable() {原创 2022-03-21 15:52:56 · 149 阅读 · 0 评论 -
静态代理模式
静态代理模式操作步骤:1.定义一个接口2.定义两个类同时实现这个接口3.类一是这个接口的类的具体做事4.类二是类一做事之前和之后的操作/** * @author 静态代理模式 * 1.定义一个接口 * 2.定义两个类同时实现这个接口 * 3.类一是这个接口的类的具体做事 * 4.类二是类一做事之前和之后的操作 */public class StaticPorxy { public static void main(String[] args) { Perso原创 2022-03-18 22:17:57 · 49 阅读 · 0 评论 -
JAVA 基础自写01
注释单行注释://多行注释:/* */文本注释:/** */标识符标识符可以为字母(a-Z)美元符号($)或者下划线(_)开始首字母之后可以是任何的字母美元符号下划线或者数字不能使用关键字作为变量或者方法标识符大小写很敏感关键字[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-syihiUMy-1647587897784)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\i原创 2022-03-18 15:31:21 · 206 阅读 · 0 评论