自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(169)
  • 资源 (1)
  • 收藏
  • 关注

原创 Linux常见目录说明

Linux常见目录说明

2022-08-08 15:44:02 565

原创 Linux 进程管理

cpu用于计算执行优先级的因子数值越大表明进程是cpu密集型运算执行。TTY(完整的终端名称)终端设备,发起该进程的设备识别符号,如果显示‘?kill进程名称(通过进程名称杀死进程也支持通配符这在系统因负载过大而。ps-ef|grepxxx功能描述可以查看子父进程之间的关系。%CPU占用的CPU资源的百分比占用越高进程越耗费资源。TIME该进程占用CPU的运算时间注意不是系统时间。%MEN占用的内存使用率占用越高进程越耗费资源。.........

2022-07-31 22:34:00 327

原创 Spring-ApplicationContext refresh的流程

refresh的12个步骤 1.prepareRefresh //完成整体的准备工作 2.obtainFreshBeanFactory //2-6完成beanfactory的准备工作 3.prepareBeanFactory 4.postProcessBeanFactory 5.invokeBeanFactoryPostProcessors 6.registerBeanPostProcessors

2022-06-28 17:08:16 454

原创 JVM内存结构

1.哪些部分会出现内存溢出 ①不会出现内存溢出的区域-程序计数器 ②内存溢出的两种类型 Ⅰ出现OutOfMemoryError的情况 1️⃣堆内存耗尽-对象越来越多,又一直在使用,不能被垃圾回收 2️⃣方法区内存耗尽-加载的类越来越多,很多框架会在运行期间动态产生新的类 3️⃣虚拟机栈累积-每个线程最多

2022-06-24 11:52:10 687

原创 ThreadLocal

面试题:谈一谈对ThreadLocal的理解 1.ThreadLocal可以实现【资源对象】的线程隔离,让每个线程各用各的【资源对象】,避免 争用引发的线程 2.ThreadLocal同时实现了线程内的资源共享 3.其原理是,每个线程内有一个ThreadLocalMap类型的成员变量,用来存储资源对象 调用set方法,就是以ThreadLocal自己作为key,资源对象作为value,放入当前线程的

2022-06-20 21:36:07 200 1

原创 Hashtable和ConcurrentHashMap

1.Hashtable和ConcurrentHashMap都是线程安全的Map集合 2.Hashtable并发度低,整个Hashtable对应一把锁,同一时刻,只能有一个线程操作它 3.jdk1.8之前ConcurrentHashMap使用Segment+数组+链表的结构,每个Segment对应一把锁,若多个线程访问不同的Segment,则不会冲突 4.jdk1.8开始ConcurrentHashMap将数组的每个头节点作为锁,若多个线程访问的头节点不同

2022-06-19 22:00:41 246

原创 java中的悲观锁和乐观锁

1.悲观锁的代表是synchronized和Lock锁 ①其核心思想是:线程只有占有了锁,才能去操作共享变量,每次只有一个线程占锁成功,获取锁失败的线程,都得停下来等待 ②线程从运行到阻塞、再从阻塞到环形,涉及线程上下文切换,如果频繁发生,影响性能 ③实际上,线程在获取synchronized和Lock锁时,若锁已经被占用,都会做几次重试操作,减少阻塞的机会2.乐观锁的代表是AtomicInteger,使用cas(compareAndSetInt)来保证原

2022-06-19 21:25:10 1558

原创 lock vs synchronized lock和synchronized的异同

·语法层面 1.synchronized是关键字,源码在 jvm 中,用 c + +语言实现 2.Lock是接口,源码由 jdk 提供,用 java 语言实现3.使用 Synchronized 时,退出同步代码块锁会自动释放,而使用Lock时,需要手动调用unlock方法释放锁·功能层面1.二者均属于悲观锁、都具备基本的互斥、同步、锁重入功能2.Lock提供了许多synchronized不具备的功能...............

2022-06-15 20:46:24 157

原创 wait vs sleep wait和sleep的异同

·共同点:wait(),wait(long)和sleep(long)的效果都是让当前线程暂时放弃中央处理器的使用权,进入阻塞状态 ·方法归属不同 ①sleep(long)是Thread的静态方法 ②而wait(),wait(long)都是Object的成员方法,每个对象都有 ·醒来时机不同 ①sleep(long)和wait(long)的线程都会在等待相应毫秒后醒来

2022-06-14 22:27:34 178

原创 线程面试相关问题-线程有哪些状态 线程池 线程调用start方法是立即执行了吗 ?

线程有哪些状态? Java线程中一共有6种状态,分别为:NEW、RUNNABLE、WAITING、TIMED_WAITING、BLOCKED、TERMINATED,其中RUNNABLE包含READY和RUNNING状态,详情可见下图: 线程调用start方法是立即执行了吗 ? 线程不是马上执行的;准确来说,调用start( )方法后,线程的状态从 new 的状态 变成 “READY(就绪)”状态,而不是“RUNNING(运行中)”状态。线程要等待CPU调度,不同的JVM有不同

2022-06-08 21:16:11 846

原创 设计模式面试相关问题

Java设计模式--单例模式_张志明(努力奋斗版)的博客-CSDN博客单例设计模式介绍所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类 只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)。比如Hibernate的SessionFactory,它充当数据存储源的代理,并负责创建Session对象。SessionFactory并不是轻量级的,一般情况下,一个项目通常只需要一个SessionFactory就够,这是就会使用到...https://blog.csdn.n

2022-06-08 20:54:35 105

原创 HashMap面试相关问题-为啥hashmap要使用红黑树,为啥不直接采用红黑树,而是当大于8个的时候才转换红黑树?何时会退化为链表?为何要二次哈希?.....

为啥hashmap不直接采用红黑树,而是当链表长度大于8个的时候才转换红黑树?小于6个转为链表?_小小梁的实验室的博客-CSDN博客_hashmap为什么不直接用红黑树为啥hashmap不直接采用红黑树,而是当大于8个的时候才转换红黑树?_weixin_43968372的博客-CSDN博客_hashmap为什么不直接用红黑树为啥hashmap要使用红黑树? jdk1.7之前 只使用链表的话 如果链表太长会影响hashmap的性能为什么不直接采用红黑树? 时间:因为Map中

2022-06-08 14:59:47 751

原创 fail-fast和fail-safe

fail-fast(快速失败) 当我们在遍历集合元素的时候,经常会使用迭代器,但在迭代器遍历元素的过程中,如果集合的结构被改变的话,就会抛出异常,防止继续遍历。这就是所谓的快速失败机制。即:一旦发现遍历的同时其它人来修改 则立即抛异常。java.util包下面的所有的集合类都是快速失败的 我们可以通过迭代器来遍历list,Iterator是一个接口, ArrayList内部类实现Iterator接口来实现相关方法 代码如下所示 其中expectedModCount记录了刚开始使用

2022-06-08 14:05:38 139

原创 SpringMVC 拦截器 AOP面向切面编程

1.配置pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apac

2022-05-25 16:20:59 183

原创 Json乱码问题配置

在resources/xxx.xml文件中加上如下配置<mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <constructor-arg value="UTF-8.

2022-05-24 16:15:23 118

原创 SpringMVC第一个SpringMVC程序

1.pom.xml配置<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apac

2022-05-22 19:12:57 236

原创 Spring-Mybatis整合 第一个Spring-Mybatis程序

1.pom.xml配置<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apac

2022-05-20 20:58:38 240

原创 MyBatis缓存机制

MyBatis缓存机制_w3cschool缓存机制减轻数据库压力,提高数据库性能mybatis的缓存分为两级:一级缓存、二级缓存一级缓存:一级缓存为 ​SqlSession​ 缓存,缓存的数据只在 SqlSession 内有效。在操作数据库的时候需要先创建 SqlSession 会话对象,在对象中有一个 HashMap 用于存储缓存数据,此_来自MyBatis 教程,w3cschool编程狮。https://www.w3cschool.cn/mybatis/mybatis-xlc73bt4.html.

2022-05-20 19:32:12 143

原创 mybatis一对多映射 完美解决Expected one result (or null) to be returned by selectOne(), but found:

今天在进行mybatis学习时 出现了上述错误 在网上看了n篇文章都没有解决下图是我查询用到的两个表 其中student表中的tid和teacher表中的id通过外键链接​在我的xml文件中 我刚开始是这么进行查询的<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://myb...

2022-05-19 22:35:20 8941

原创 Mybatis 详细的创建流程及创建第一个Mybatis增删改查程序 CRUD

1.idea新建Maven项目Mybatis-study 将项目里的src文件夹删掉 依次将此项目作为父项目2.在Mybatis-study中新建模块mybatis-01 在mybatis的pom文件中可以看到其父项目为ybatis-study<parent> <artifactId>MyBatis-study</artifactId> <groupId>org.example</groupId> ...

2022-05-17 15:01:10 292

原创 使用Spring实现AOP的三种方式

[重点] 使用AOP织入 需要导入一个依赖包 <dependencies> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.9.9.1</version> <

2022-05-17 10:24:22 295

原创 使用java的方式配置Spring---JavaConfig

不适用Spring的xml配置 全部交给java来做JavaConfig是Spring的一个子项目,在Spring4之后 其变成了核心功能config文件package com.kero.config;import com.kero.pojo.User;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.ComponentScan;import or

2022-05-16 21:36:01 299

原创 Spring 使用注解开发

在Spring4之后 要使用注解开发 必须保证aop包导入了使用注解需要导入context约束 增加 注解的支持<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http:

2022-05-16 21:14:41 177

原创 Spring Bean的自动装配

实体类 people、cat、dogpublic class People { private Cat cat; private Dog dog; private String name; public Cat getCat() { return cat; } public void setCat(Cat cat) { this.cat = cat; } public Dog getDog() {

2022-05-16 16:23:20 388

原创 Spring DI依赖注入

1.构造器注入如果只有一个有参数的构造方法并且参数类型与注入的bean的类型匹配,那就会注入到该构造方法中。要求类里要有有参构造。每个构造参数就是一个依赖项 详见下文中:使用有参数构造创建对象Spring IOC创建对象的方式_张志明(努力奋斗版)的博客-CSDN博客1.默认使用无参构造器创建对象 tips:要求实体类中不显示写出构造函数 或者 写出缺省的构造函数.xml <?xml version="1.0" encoding="UTF-8"?><beans xml...

2022-05-16 15:39:36 159

原创 Spring IOC创建对象的方式

1.默认使用无参构造器创建对象 tips:要求实体类中不显示写出构造函数 或者 写出缺省的构造函数.xml <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocati...

2022-05-16 14:59:55 160

原创 Spring IOC理论推导及其本质

原来实现业务的方式1.UserDao接口package com.kero.dao;public interface UserDao { void getUser();}2.UserDaoImplpackage com.kero.dao;public class UserDaoImpl implements UserDao{ @Override public void getUser() { System.out.println("默认获

2022-05-16 10:12:16 171

原创 ---DAO---

package com.kero.dao;import java.io.IOException;import java.io.InputStream;import java.sql.*;import java.util.Properties;public class BaseDao { private static String url; private static String driver; private static String username; .

2022-05-14 14:06:42 92

原创 JSP 监听器的使用Listener 实现统计网站在线人数功能

利用监听器实现统计网站在线人数的功能监听器:OnlineCountListener .javapackage com.demo.listener;import javax.servlet.ServletContext;import javax.servlet.http.HttpSessionEvent;import javax.servlet.http.HttpSessionListener;public class OnlineCountListener implements Http

2022-05-13 18:47:10 1271

原创 JSP 过滤器的使用Filter

利用过滤器实现以下功能: ①用户登陆之后 向Session中放入用户的数据 ②进入主页的时候判断用户是否已经登录 在过滤器中实现1.过滤器SysFilter.javapackage com.demo.listener;import javax.servlet.*;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import...

2022-05-13 18:22:58 935

原创 Cookie和Session

HttpServletRequest HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中。 req常用的方法和操作:1.获取前端传递的参数1.获得客户端的信息getRequestURL方法返回客户端发出请求时的完整URL。getRequestURI方法返回请求行中的资源名部分,去掉主机名的部分。getRemoteAddr方...

2022-05-12 16:42:36 258

原创 Response 验证码实现

package com.kero.servlet;import javax.imageio.ImageIO;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.awt.*;import j.

2022-05-12 11:41:18 110

原创 Java Native关键字 JNI

native:凡是带了native关键字的,说明java的作用范围达不到了,要回去调用底层c语言的库 会进入本地方法栈 调用本地方法接口JNIJNI作用:扩展Java的使用 融合不同的编程语言为Java所用 最初是为了融合C、C++在内存区域中专门开辟了一块标记区域 Native Method Stack 登记native方法 它在最终执行的时候通过JNI加载本地方法库中的方法比如: new Thread(()->{ },"aaa").star

2022-05-10 17:55:40 293

原创 JDBC获取数据库连接的五种方式

首先要导入jar包(必须且重要)将jar包复制到工程目录之后 右键选择 Add as Library.. 方式1:public class ConnectionTest { @Test public void test() throws SQLException { Driver driver = new com.mysql.cj.jdbc.Driver(); String url = "jdbc:mysql://local...

2022-05-03 16:18:02 1222

原创 MySQL 使用SQL99实现7种JOIN操作

网课指路:MySQL数据库教程天花板,mysql安装到mysql高级,强!硬!_哔哩哔哩_bilibili预备知识:·内连接: 合并具有同一列的两个以上的表的行, 结果集中不包含一个表与另一个表不匹配的行 ·外连接: 两个表在连接过程中除了返回满足连接条件的行以外还返回左(或右)表中不满足条件的 行 ,这种连接称为左(或右) 外连接。没有匹配的行时, 结果表中相应的列为空(NULL)。 ·如果是左外连接,则连接条件中左边的表也称为 主表 ,右边的表称为 从表 。 ·如果是右外连接,则连接

2022-04-25 11:29:49 944

原创 Java设计模式--职责链模式

OA系统采购审批需求 学校OA系统的采购审批项目:需求是 1) 采购员采购教学器材 2) 如果金额 小于等于5000, 由教学主任审批 (0<=x<=5000) 3) 如果金额 小于等于10000, 由院长审批 (5000<x<=10000) 4) 如果金额 小于等于30000, 由副校长审批 (10000<x<=30000) 5) 如果金额 超过30000以上,有校长...

2022-04-24 17:22:02 97

原创 Java设计模式--策略模式

鸭子问题 编写鸭子项目,具体要求如下: 1) 有各种鸭子(比如 野鸭、北京鸭、水鸭等, 鸭子有各种行为,比如 叫、飞行等) 2) 显示鸭子的信息传统方案解决鸭子问题的分析和代码实现代码:public abstract class Duck { public Duck() { } public abstract void display();//显示鸭子信息 public void q...

2022-04-24 17:14:37 123

原创 Java设计模式--状态模式

APP抽奖活动问题 请编写程序完成APP抽奖活动 具体要求如下: 1) 假如每参加一次这个活动要扣除用户50积分,中奖概率是10% 2) 奖品数量固定,抽完就不能抽奖 3) 活动有四个状态: 可以抽奖、不能抽奖、发放奖品和奖品领完 4) 活动的四个状态转换关系图 状态模式基本介绍1) 状态模式(State Pattern):它主要用来解决对象在多种状态转换时,需要对外输出不同的行为的问题。状态和行为是一一对应的,状态之间可以相互转换2) 当...

2022-04-24 17:02:34 363

原创 Java设计模式--解释器模式

四则运算问题 通过解释器模式来实现四则运算,如计算a+b-c的值,具体要求 1) 先输入表达式的形式,比如 a+b+c-d+e, 要求表达式的字母不能重复 2) 在分别输入a ,b, c, d, e 的值 3) 最后求出结果传统方案解决四则运算问题分析 1) 编写一个方法,接收表达式的形式,然后根据用户输入的数值进行解析,得到结果 2) 问题...

2022-04-24 16:43:55 151

原创 Java设计模式--备忘录模式

游戏角色状态恢复问题 游戏角色有攻击力和防御力,在大战Boss前保存自身的状态(攻击力和防御力),当大 战Boss后攻击力和防御力下降,从备忘录对象恢复到大战前的状态传统方案解决游戏角色恢复 传统的设计方案(类图)传统的方式的问题分析 1) 一个对象,就对应一个保存对象状态的对象, 这样当我们游戏的对象很多时,不 利于管理,开销也很大. 2) 传统的方式是简单地做备份,new出另外一个对象出来,再把需要备份的...

2022-04-24 15:56:07 436

客户信息管理软件 尚硅谷Java入门

没用有ppt里的工具类

2022-03-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除