- 博客(37)
- 收藏
- 关注
原创 【Java难点】多线程-高级
案例1和案例2一个对象里面如果有多个synchronized方法,某一个时刻内,只要一个线程去调用其中的一个synchronized方法了,其它的线程都只能等待,换句话说,某一个时刻内,只能有唯一的一个线程去访问这些synchronized方法,锁的是当前对象this,被锁定后,其它的线程都不能进入到当前对象的其它的 synchronized方法。案例3和案例4普通方法和同步锁无关,换成两个对象后,不是同一把锁了案例5和案例6。
2024-05-11 05:00:00 546
原创 【Java难点】多线程-终极【更新中...】
JMM(Java内存模型Java Memory Model,简称JMM)本身是一种抽象的概念并不真实存在它仅仅描述的是一组定或规范,通过这组规范定义了程序中(尤其是多线程)各个变量的读写访问方式,并决定一个线程对共享变量的写入何时可用,以及如何变成对另一个线程可见,关键技术点都是围绕多线程的原子性可见性和有序性展开的。添加volatile关键字后,JVM为什么会加入内存屏障?
2024-05-11 05:00:00 1913
原创 【Java难点】多线程-进阶
在Java8中,CompletableFuture提供了非常强大的Future的扩展功能,可以帮助我们简化异步编程的复杂性,并且提供了函数式编程的能力,可以通过回调的方式处理计算结果,也提供了转换和组合 CompletableFuture的方法。**注意:**get/join方法放在complete之后,get/join方法永远不会阻塞,因为异步任务如果没计算完,complete方法会将value给get/join方法,get/join方法获取的是value,不会发生阻塞;
2024-04-26 05:00:00 809
原创 【前端】什么是面包屑?
面包屑面包屑是网站导航中的一种可视化路径提示,通常以层次结构显示用户当前页面的位置,帮助用户了解他们在网站上的位置和浏览历史。这个术语来源于童话故事《汉赛尔与格莱特》中的面包屑小径,代表着一种追踪轨迹的方法。假设你在一个电子商务网站上搜索并点击了以下路径的商品:首页 > 服装 > 男装 > 外套在这个例子中,面包屑导航可能会以如下形式显示:首页 > 服装 > 男装 > 外套这样的面包屑就像一条路径,告诉你你是如何从网站的首页到达所浏览的特定外套商品页面的。面
2024-04-25 05:00:00 841
原创 【MyBatis】使用手册
mybaits手册mybatis官网 https://blog.mybatis.org/中文文档:https://mybatis.org/mybatis-3/zh/getting-started.html一、mybatis连接mysql(普通maven工程)准备:数据库:mybatis_lesson表:useruser表的字段:id,name,age,phone_number1 新建maven工程2. pom.xml中添加mybatis和mysql驱动坐标<dependency
2024-04-24 23:10:37 1179
原创 【Java难点】多线程-初级
自定义线程池的7个参数:临时线程对象的最大数量=线程池中最大线程的数量-核心线程数量;空闲时间指的是临时线程对象多长时间没有工作,则会将临时线程对象销毁。来任务了需要先创建核心线程对象,核心线程对象都是工作状态,再来任务的话会进入核心线程的队列中等待,核心线程队列满了才会创建临时线程对象;线程执行顺序不是按照先来后到的规则,队伍里的线程会按照先来后到的规则执行等待核心线程执行,而队伍外的线程会使用临时线程执行;
2024-04-22 23:47:18 1003
原创 mybaits手册
mybaits手册mybatis官网 https://blog.mybatis.org/中文文档:https://mybatis.org/mybatis-3/zh/getting-started.html一、mybatis连接mysql(普通maven工程)准备:数据库:mybatis_lesson表:useruser表的字段:id,name,age,phone_number1 新建maven工程2. pom.xml中添加mybatis和mysql驱动坐标<dependency
2024-01-10 06:00:00 1034
原创 Spring注解驱动
自定义组件想要使用Spring底层的一些组件(ApplicationContext, BeanFactory, xxx)自定义组件实现xxxAware,在创建对象的时候,会调用接口规定的方法注入相关的Spring底层组件,xxxAware全都实现自Aware接口。xxxAware的功能,使用对应xxxProcessor来处理,如 ApplicationContextAware==>ApplicationContextAwareProcessor。案例创建自定义组件,实现xxxAware接口。
2024-01-10 05:00:00 1514
原创 【Java难点】内部类
在一个类里面再定义一个其他类,这个其他类就称为内部类。类的五大成员:属性、方法、构造方法、代码块、内部类。Outer是外部类,Inner是内部类,Other是外部其他类。
2024-01-05 06:00:00 949 1
原创 【Java难点】泛型
JAVA推出泛型以前,程序员可以构建一个元素类型为Object的集合,该集合能够存储任意的数据类型对象,而在使用该集合的过程中,需要程序员明确知道存储每个元素的数据类型,否则很容易引发ClassCastException异常。修饰符 返回值类型 方法名(形参类型 形参) {方法体...修饰符与返回值中间非常重要,可以理解为声明此方法为泛型方法。只有声明了的方法才是泛型方法,泛型类中的使用了泛型的成员方法并不是泛型方法。
2024-01-03 22:26:07 876 1
原创 代理-java核心技术
代理模式(Proxy Pattern):是23种设计模式中的一种,属于结构型的模式。指一个对象本身不做实际的操作,而是通过其它对象来得到自己想得到的结果。意义:目标对象只需要关心自己的实现细节,通过代理对象来实现功能的增强,可以扩展目标对象的功能。体现了非常重要的编程思想:不能随便修改源码,如果需要修改源码,通过修改代理的方式来实现功能的拓展。概述:在不改变原有功能代码的前提下,能够动态的实现方法的增强代理类型实现机制回调方式使用场景效率JDK动态代理。
2023-12-26 06:00:00 26
原创 代理-java核心技术
代理模式(Proxy Pattern):是23种设计模式中的一种,属于结构型的模式。指一个对象本身不做实际的操作,而是通过其它对象来得到自己想得到的结果。意义:目标对象只需要关心自己的实现细节,通过代理对象来实现功能的增强,可以扩展目标对象的功能。体现了非常重要的编程思想:不能随便修改源码,如果需要修改源码,通过修改代理的方式来实现功能的拓展。概述:在不改变原有功能代码的前提下,能够动态的实现方法的增强代理类型实现机制回调方式使用场景效率JDK动态代理。
2023-12-26 01:30:10 20
原创 函数式编程
Lambda是JDK8中一个语法糖。他可以对某些匿名内部类的写法进行简化。它是函数式编程思想的一个重要体现。让我们不用关注是什么对象。而是更关注我们对数据进行了什么操作。 Java8的Stream使用的是函数式编程模式,如同它的名字一样,它可以被用来对集合或数组进行链状流式的操作。可以更方便的让我们对集合或数组操作。 我们在编写代码的时候出现最多的就是空指针异常。所以在很多情况下我们需要做各种非空的判断。if(author!=null){ 尤其是对象中的属性还是一个对象的情况下。
2023-12-25 21:06:46 62 1
原创 反射和注解
说明:属性类型:可以是任意的java类型,包括枚举类型属性名后面一定要加()public(可省略):注解属性的修饰符一定是public,所以可以省略publicdefault(可省略):default后面接默认值,可不写默认值。特殊属性value:如果注解中只有一个value属性,使用注解时,value名称可以不写!!如果注解中既有value属性,又有其他属性,且其他属性有默认值。使用注解时,如果其他属性使用默认值,则value名称也可以不写。
2023-12-25 01:49:41 23
原创 java: 错误:不支持的发行版本 x
编译器编译出来的Class文件高于JDK的版本,高版本的JDK能向下兼容以前版本的Class文件,但不能运行以后版本的Class文件。
2023-07-12 23:21:22 344
原创 Linux计划任务(at/crontab)
linux下的定时任务:一次性执行(at)、循环执行(crontab)cpu任务负载小于0.8时执行的后台任务:batch可唤醒关机期间的计划任务:anacron
2022-10-20 01:06:55 7313
原创 【超详细】阿里云CentOS7.9搭建FTP服务器,mysql+vsftpd虚拟用户实现ftp用户拥有不同权限
1.阿里云CentOS7.9搭建FTP服务器2.创建ftp服务器管理员:ftpadmin,权限为可创建、删除、修改、下载、上传目录和文件3.创建ftp服务器用户:ftpuser1,权限为仅下载文件、目录4.创建ftp服务器用户:ftpuser2,权限为仅上传文件、目录...
2022-07-24 04:31:22 2717 1
原创 使用maven创建项目后编译报错: java:程序包不存在, java:找不到符号
maven编译报错:java:程序包不存在java:找不到符号Error:(3, 30) java: 程序包com.alibaba.druid.pool不存在Error:(7, 5) java: 找不到符号 符号: 类 JdbcTemplate 位置: 类 dao.deleteError:(35, 18) java: 找不到符号 符号: 变量 DruidDataSourceFactory 位置: 类 util.JDBCUtilF:\untitled3\src\main\j
2020-05-25 14:48:13 2082
原创 JDBCUtil类(Java)
package org.example.util;import com.alibaba.druid.pool.DruidDataSourceFactory;import javax.sql.DataSource;import java.io.IOException;import java.io.InputStream;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;impo
2020-05-24 21:30:31 384
原创 SQLException异常和乱码问题
Loading class com.mysql.jdbc.Driver'. This is deprecated. The new driver class iscom.mysql.cj.jdbc.Driver’. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.5月 24, 2020 8:48:10 下午 com.ali
2020-05-24 21:17:05 1458
原创 Maven的New中没有Servlet
Maven的New中没有Servlet使用maven骨架中的webapp骨架创建maven项目后,创建servlet时没有Create New Servlet解决办法:将下面的servlet和jsp依赖复制到pom.xml的 中<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version&
2020-05-22 19:43:02 726
原创 maven警告(maven warning)
warning:org.apache.maven:standalone-pom:pom:1generateNo archetype found in remote catalog. Defaulting to internal catalog解决办法:然后再新建项目完美解决!
2020-05-22 17:16:59 1109 1
原创 Maven安装与环境变量配置
配置Maven环境变量1.下载地址:https://maven.apache.org/download.cgi2.解压到没有中文没有空格的路径3.配置环境变量3.1复制解压后的目录:C:\Program Files\MAVEN\apache-maven-3.5.2-bin\apache-maven-3.5.23.2我的电脑—>右键—>属性—>高级系统设置—>环境变量—>系统变量_新建3.2在系统变量中找到Path—>双击—>新建—>输入%MAV
2020-05-20 20:11:34 113
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人