自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 HashMap与HashTable

并且可以看到HashMap是没有对key,value进行null的判断,是支持null的。而HashTable对value的值进行null判断,如果是null则报异常。可以看到HashTable的方法都是用的synchronized,所以它是线程安全的,而HashMap没有,则HashMap是线程不安全的。默认大小是11,加载因子0.75,扩容2n+1, 左移一位+1,所以乘以2+1。默认大小16,加载因子0.75,扩容2n ,左移一位 ,所以乘以2。第二:线程安全不同,对于null的支持不同。

2025-05-06 10:45:35 168

原创 并发and并行

类比到程序中 ,人就是cpu ,搬砖和劈柴就是两个线程,cpu交替执行这两个线程,如果不考虑cpu切换的时间的话,那么在宏观上看起来就像这两个线程在同时执行。从微观的角度来看就是交替执行的。尽管是两个人,但是手套只有一副,此时他们一人是并发的形式进行推进的。你一个人忙不过来,你朋友A决定过来帮你,你负责搬砖,A负责劈柴,这样两个任务就同时进行,完成两个任务需要的时间只需要10分钟了。你一个人先搬砖,在劈柴,按照这样的顺序执行,这就是批处理的概念 ,就是一个任务一个任务的执行,完成这两个任务你需要20分钟。

2024-12-11 16:17:38 234

原创 SpringBoot启动流程,自动装配原理

web项目中引用了utils-jar包,但是现在直接从IOC容器中却没有获取到,这是因为@SpringBootApplication注解他是默认的去当前包及其子包。@Import注解的升级版本采用@EnableXxx注解 这个注解是第三方提供的,因为你需要导入那些类 第三放是最清楚的,所有第三方提供了@EnableXxx。元注解:是可以注解到注解上的注解,或者说元注解是一种基本注解,但是它能够应用到其他的注解上面。他这个注解里面就有@import注解里面导入的就是ImportSelect的接口实现类。

2024-12-02 15:47:50 823

原创 登录校验cookies,session,token

一般在java-web的项目开发中一般都有一个登录请求,当用户没有登录的时候访问其他的请求时会给前端响应用户未登录,跳转到登录页面。当用户登录过了之后,再去请求别的地址服务,会携带一个标识,让服务端来验证当前用户是否登录了。Token配合拦截器,来达到拦截所有的请求,验证请求是否携带了有效的token,若无效,返给前端“用户未登录”,跳转登录页面。Cookie浏览器的会话技术(客户端) http协议中支持的技术,但是不能跨域,安全性低,可以人为禁用,app端不能使用。说了拦截器,顺道回顾一下过滤器。

2024-11-20 22:26:12 419

原创 反射、动态代理。

反射的基本方法就是上面那些。在运行状态下,对于任意一个类,我们都能够知道这个类的所有的属性和方法,对于任意一个对象而言,都能够调用他的任意方法,获取任意属性。2,可以通配置文件结合使用,从配置文件中读取到什么类,就创建什么类的对象,读到什么方法就调用什么方法。修改配置文件就能实现需求变更。这样的动态获取信息和动态调用对象方法的功能称之为Java语言的反射机制。1,利用反射创建的对象可以无视私有修饰符调用类中的内容。在实际开发中 主要是下面两种情况。

2024-11-07 17:00:31 231

原创 悲观锁/乐观锁

【代码】悲观锁/乐观锁。

2024-10-31 22:50:23 317

原创 简单多线程DEMO

【代码】简单多线程DEMO。

2024-10-11 16:21:27 368

原创 dubbo+zookeeper

一,背景及准备:什么是分布式系统???在《分布式系统原理与范型》一书中有如下定义:“分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统”。这是最简洁明了的解释。分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法完成的计算、存储任务。其目的是利用更多的机器,处理更多的数据。分布式系统(distributed system)是建立在网络之上的软件系统。首先需要明确的是,只有当单

2021-12-17 17:24:59 902

原创 shiro安全框架整理

一:简单介绍Apache 的安全框架Apache Shiro是一个Java的安全管理框架,可以用在JavaEE环境下,也可以用在JavaSE环境下。此前我们学习了很多有关阿帕奇的东西:maven,tomcat,等等他能做什么?shiro架构官方号称十分钟就可以入门:Apache Shiro | Simple. Java. Security.gti地址:GitHub - apache/shiro: Apache Shiro二:...

2021-12-15 16:35:15 2588

原创 SpringSecurity安全框架整理

一:简单介绍Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:Dependency Injection 依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。spring security 的核心功能主要包

2021-12-15 10:42:44 3305

原创 SSM框架整合

spring+springmvc+mybatis的配置整合底层DAO,mybatis与spring的整合。spring-dao.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" xmlns

2021-10-08 15:07:44 132

原创 mybayis的多对一联表查询操作

//学生pojo@Datapublic class Student { private int id; private String name; //多个学生可以是同一个老师,即多对一 private Teacher teacher;}//老师pojo@Datapublic class Teacher { private int id; private String name;}mybatis的xml文件 需求:获取所有学生及对应老师的信息...

2021-09-10 17:33:04 109

原创 mybatis配置文件解析,官网版本

mybatis配置文件的标签顺序严格规定,不能乱写属性(properties)这些属性可以在外部进行配置,并可以进行动态替换。你既可以在典型的 Java 属性文件中配置这些属性,也可以在 properties 元素的子元素中设置。简答的举例就是可以在配置文件中定义一些属性给mybatis来用,比如数据库的连接信息设置(settings)这是 MyBatis 中极为重要的调整设置,它们会改变 MyBatis 的运行时行为。 下表描述了设置中各项设置的含义、默认值等。设置的属性非常多,...

2021-09-10 14:43:30 129

原创 Listen监听器

背景:统计某个网站的在线人数//统计网站在线人数,也就是统计session的数量,一个浏览器对应一个session(浏览器)//关闭后session销毁public class OnlineListen implements HttpSessionListener{ /** * 监听session新创建时执行的方法 * @param se */ @Override public void sessionCreated(

2021-09-08 15:54:15 164

原创 filter过滤器

filter过滤器和servlet类比学习servlet是继承HttpServletfilter是实现Filter(注意是javax.servlet包下的)servlet在web.xml中的映射配置,同一个请求,两个地址/servlet/show,/show其中/show没走过滤器所以还是乱码filter在web.xml中的映射配置,<url-pattern>/servlet/*</url-pattern>,所以只会过滤/servlet/*这个请求<fil

2021-09-08 15:42:05 82

原创 session&cookie

异同:cookie是客户端的对象,key-value键值对形式,只能存储String类型,数据量小,大约4k, 由于是存储在客户端安全性小 session是服务器对象,key-value简直对形式,但是存储的是Object,数据量大,储存于服 务器,安全性较高。 服务器会给每一个用户(浏览器)创建一个session对象 一个session独占一个浏览器,主要浏览器没有关闭,这个session就存在 用...

2021-08-31 15:40:36 100

原创 apply plugin: ‘org.springframework.boot‘

我本地装了两个版本的gradle,一直用的是低版本的4.6,昨天无意之间改成了高版本7.1,本以为高版本可以向下兼容,没什么问题,但是刷新gradle就报这个异常,困扰很久,改回原来的4.6版本就不报错了,我想可能是7.1缺少一些文件或者配置吧。...

2021-08-20 09:50:40 2205

原创 依赖版本的缺失导致引用失败

以net.sf.json-lib:json-lib为例子在gradle中必须加上jdk的版本,否则引用就是报错。在maven中同样如此更多的依赖问题可以参考maven库https://mvnrepository.com/

2021-08-12 14:42:21 1209

原创 Gradle子模块之间的依赖

在gradle的使用过程中,会和maven一样存在A模块引用B模块的问题,今天在项目中遇到了,在此做个记录,供自己日后回顾,复习先看一下maven的模块依赖khxt希望可以引入common-code,只需要在khxt的pom.xml中将其引用即可。gradle的模块依赖,其原理和maven差不多,语法不一样khxt子模块,需要引用common-code父模块下配置子模块名需要将common-code,在gradle中打成jar包,之后在khxt模...

2021-08-12 14:34:33 5568

空空如也

空空如也

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

TA关注的人

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