01 2023 档案

摘要:spring是一个容器框架,用来装javaBean(java对象),也是一个中间层框架(万能胶)可以起到连接作用,比如将mybatis、springMVC等粘合在一起运用,可以让我们的开发更快、更简洁。 Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。 IOC **ioc 阅读全文
posted @ 2023-01-31 23:09 程长新 阅读(182) 评论(0) 推荐(0) 编辑
摘要:并发:多个任务会相互干扰,同一时间点只有一个任务运行,交替执行。 并行:多个任务互不干扰,在同一时间点共同执行,在时间上是重叠的。 串行:在同一时间点只有一个任务运行,在时间上不可能重叠,任务挨个运行。 阅读全文
posted @ 2023-01-31 17:58 程长新 阅读(556) 评论(0) 推荐(0) 编辑
摘要:守护线程:为所有非守护线程提供服务的线程。任务一个守护线程都是整个JVM中所有非守护线程的保姆。 守护线程就是整个进程中一个默默无闻的小喽喽,它的生死无关重要,但它依赖整个进程而运行;哪天其他线程都结束了,程序要结束了, 理都没理守护线程,就把它中断了。 注意:由于守护线程的终止是自身无法控制的,所 阅读全文
posted @ 2023-01-31 17:49 程长新 阅读(236) 评论(0) 推荐(0) 编辑
摘要:我这里用的cxf框架来搭建webService服务 我的SpringBoot版本为2.7.5 查看项目springBoot版本的方法: 1. 写测试类,打印springBoot版本 @Test void version(){ System.out.println(SpringBootVersion. 阅读全文
posted @ 2023-01-31 12:55 程长新 阅读(840) 评论(0) 推荐(0) 编辑
摘要:当多个线程访问同一个对象时,如果不用做额外的控制,调用这个对象的行为都可以获得正确的结果,就说这个对象是线程安全的。 线程安全准确地说是内存安全,堆是共享内存,可以被所有线程访问。 在每个进程的内存空间都会有一块特殊的公共区域,即堆(内存)。进程内的所有线程都可以访问到该区域,这就是造成问题的潜在原 阅读全文
posted @ 2023-01-30 23:08 程长新 阅读(58) 评论(0) 推荐(0) 编辑
摘要:锁池 所有需要竞争同步锁的线程都会放在锁池当中,比如某个对象的同步锁被其中一个线程得到,则其它线程需要在锁池中等待,当前面的线程释放掉同步锁后锁池中的线程去竞争同步锁,得到锁的线程进入就绪队列等待CPU资源分配。 等待池 当调用wait()方法后,线程会放到等待池中,等待池中的线程不会去竞争同步锁。 阅读全文
posted @ 2023-01-30 22:35 程长新 阅读(34) 评论(0) 推荐(0) 编辑
摘要:**线程的生命周期:**创建-->就绪-->运行-->阻塞-->死亡 线程的状态: 新建状态(New):新创建了一个线程对象 就绪状态(Runable):其它线程调用了该线程的start方法。该状态的线程都在可运行线程池中,等待获取CPU使用权 运行状态(Running):就绪状态的线程获取到了CP 阅读全文
posted @ 2023-01-30 09:30 程长新 阅读(78) 评论(0) 推荐(0) 编辑
摘要:**可达性分析法:**从GC Roots开始向下搜索,搜索所走过的路径称为引用链。当一个对象到GC Roots没有任务引用链相连时,则证明此对象是不可用的,此时虚拟机就判断是可回收对象。 可以作为GC Roots的对象有: 虚拟机栈中引用的对象 方法区中类静态属性引用的对象 方法区中常量引用的对象 阅读全文
posted @ 2023-01-29 22:23 程长新 阅读(46) 评论(0) 推荐(0) 编辑
摘要:Java中的所有异常都来自顶级父类Throwable Throwable下有两个子类,Exception和Error Error是程序无法处理的错误,一旦出现程序就会被迫停止运行 Exception是程序可以处理的错误,可以分为两种RunTimeException运行时异常和CheckedExcep 阅读全文
posted @ 2023-01-29 22:17 程长新 阅读(101) 评论(0) 推荐(0) 编辑
摘要:类加载器 顶级类加载器:BootStrapClassLoader 负责加载%JAVA_HOME%路径下lib文件夹中的jar包和class文件 扩展类加载器:ExtClassLoader 负责加载%JAVA_HOME%路径下lib文件夹下ext文件夹中的jar包和class文件 系统类加载器,线程上 阅读全文
posted @ 2023-01-29 09:47 程长新 阅读(51) 评论(0) 推荐(0) 编辑
摘要:Java程序不是直接跑在机器上,而是跑在虚拟机(JVM)上,将Java源码经过编译后在虚拟机上运行的class文件即为字节码,字节码也就是虚拟机能理解的代码。 每一种平台的解释器不同,但实现的虚拟机是相同的。Java源程序经过编译器编译为字节码,字节码由虚拟机解释执行,虚拟机将每一条要执行的字节码送 阅读全文
posted @ 2023-01-29 09:25 程长新 阅读(176) 评论(0) 推荐(0) 编辑
摘要:区别: HashMap中允许存在null的键和值,但HashTable不允许 HashTable中每个方法都有synchronized修饰,所以HashTable是线程安全的,而HashMap不是。但多线程情况下仍然不建议使用HashTable,而是使用CurrnetHashMap,因为HashTa 阅读全文
posted @ 2023-01-27 19:18 程长新 阅读(127) 评论(0) 推荐(0) 编辑
摘要:通过宝塔面板快速安装了mysql8,然后到了要登陆mysql的时候想起来不知道密码,这时候就要强制重置mysql密码了。 修改/etc/my.cnf中的mysql配置,添加一句话来跳过密码验证 然后重启mysql服务service mysqld restart 重新登陆mysql,mysql -ur 阅读全文
posted @ 2023-01-18 13:29 程长新 阅读(470) 评论(0) 推荐(0) 编辑
摘要:今天刚刚在腾讯云上买的服务器,买了个最便宜的88一年。 我使用Tomcat作为web应用服务器,使用宝塔面板快速安装的Tomcat。 在我们自己电脑上运行npm run build命令将vue项目打包,打包后会生成dist目录,再将这个目录压缩为zip文件 我使用Tabby作为远程连接工具连接服务器 阅读全文
posted @ 2023-01-17 17:38 程长新 阅读(815) 评论(0) 推荐(0) 编辑
摘要:**ArrayList:**基于动态数组。连续内存存储,适合下标访问(随机访问)。可以很好地利用CPU缓存,局部性原理 扩容机制:因为数组长度固定,超出长度存数据时需要新建数组,将老数组数据拷贝到新数组,如果不是尾部插入数据还会涉及到元素移动(往后复制一份,插入新元素)。因此,ArrayList使用 阅读全文
posted @ 2023-01-17 10:59 程长新 阅读(58) 评论(0) 推荐(0) 编辑
摘要:hashCode()方法的作用是获取哈希码,也称为散列码,实际上是一个int整数。这个哈希码的作用是确定该对象在哈希表中的索引位置。散列表存储的是键值对(key-value),它的特点是:能根据“键”快速的检索出对应的“值”。这其中就利用到了散列码。(可以快速找到所需要的对象) 两个对象相等,则ha 阅读全文
posted @ 2023-01-17 10:25 程长新 阅读(143) 评论(0) 推荐(0) 编辑
摘要:list:按对象进入顺序保存对象,是有序的,对象可重复,允许多个null元素,可以使用迭代器Iterator取出元素进行遍历,也可以使用get(index)进行下标访问 set:是无序的,对象不可重复,最多允许一个null元素,只能通过迭代器Iterator遍历元素 阅读全文
posted @ 2023-01-17 09:25 程长新 阅读(52) 评论(0) 推荐(0) 编辑
摘要:方法层面的比较 接口中的方法只能是抽象方法,即public abstract方法,不能有非抽象方法。但可以提供默认方法(default方法),子类可以不重写 抽象类中的方法可以是抽象方法也可以是非抽象方法。 变量层面的比较 接口中的变量只能是public static final类型 抽象类中的变量 阅读全文
posted @ 2023-01-16 10:00 程长新 阅读(35) 评论(0) 推荐(1) 编辑
摘要:**重载:**发生在同一个类中,方法名相同,参数列表不同(参数类型、参数个数、参数顺序),访问修饰符和返回值可以不同。 **重写:**发生在父子类中,方法名和参数列表必须相同,访问修饰符的范围要大于等于父类,返回值范围要小于等于父类,抛出的异常范围要小于等于父类。如果父类方法为private修饰,则 阅读全文
posted @ 2023-01-14 22:27 程长新 阅读(62) 评论(0) 推荐(0) 编辑
摘要:在后台添加response响应头 然后在浏览器中可以看到这个header 但是axios收到的response响应中却没有 只有content-type和content-length 在后端不设置的前提下,前端能获取到的响应头是已经默认在响应首部【Access-Control-Expose-Head 阅读全文
posted @ 2023-01-12 11:22 程长新 阅读(3629) 评论(0) 推荐(0) 编辑
摘要:final即最终的 修饰类:表示该类不可被继承 修饰方法:表示该方法不可以被子类重写,但可重载 修饰变量:则该变量只能一次性赋值,即一旦赋值就不可以更改它的值 修饰类变量:只能在静态初始化块中指定初始值或声明该类变量时指定初始值 修饰成员变量:可以在非静态初始化块、声明该变量时或者构造器中指定初始值 阅读全文
posted @ 2023-01-10 18:25 程长新 阅读(99) 评论(0) 推荐(0) 编辑
摘要:String是final修饰的,是不可变的,每次操作都会产生新的String对象,而StringBuffer和StringBuilder都是在原对象上操作。 StringBuffer是线程安全的,而StringBuilder是线程不安全的,因为StringBuffer的方法都是synchronize 阅读全文
posted @ 2023-01-10 09:16 程长新 阅读(17) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示