自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 lambda表达式

lambda表达式的本质:是一个函数式接口(只包含一个抽象方法的接口)的实例,可以简化代码。lambda形参列表的参数类型可以省略,形参只有一个()可以省略。lambda体只有一条执行语句,{}和return可以省略。语法:(形参列表)->方法体。

2023-05-24 11:13:03 78

原创 java泛型

表示数据类型的数据类型。

2023-05-22 10:17:11 76

原创 java反射

dog类加载的时候,通过ClassLoader(类加载器)得到dog类的“Class类对象”,通过“Class类对象”可以得到dog类的成员变量,方法等。4.java.lang.reflect.Constructor:代表类的构造方法,Constructor对象表示某个类的构造方法。3.java.lang.reflect.Field:代表类的成员变量,Field对象表示某个类的成员变量。2.java.lang.reflect.Method:代表类的方法,Method对象表示某个类的方法。

2023-05-18 17:28:53 87

原创 映射思维-

把表(数据)映射为java对象,通过操作java对象去操作表。类,接口可以理解为🛠,🛠用来操作数据(对象,属性,参数)

2023-05-17 22:16:38 68

原创 spingboot自动装配原理(宏观)

根据META-INF下的spring.factories配置文件,找到对应自动装配的类,根据自动装配类来装配对应的bean。application.yml或application.properties 的作用是修改SpringBoot默认配置的值。conditionalOn…这一系列注解的作用,当满足一定条件时才会实例化类(把类装载到容器中)连续按两下shift,搜索类。装载:引入下载的意思。

2023-05-08 16:50:37 35

原创 写程序像煮火锅

今日感悟:写java程序和煮火锅差不多,把“”返回值”比作火锅,“方法”就是煮熟的过程,“参数”就是食材,”框架或者类库”就像切好的毛肚,牛丸,火锅底料等半成品,直接拿来用,不用我们自己去牛身上取,煎火锅底料。

2023-05-06 21:41:45 39

原创 Json中的一些注解

1、@JsonPropertyOrder 对Json数据中的属性交换顺序加上@JsonPropertyOrder注解后,把content和title输出顺序交换一下2、@JsonProperty Json数据中的属性名称进行更改之前输出的时候显示author加上@JsonProperty注解后,输出的是auther3、@JsonInclude Json数据中如果是空就不返回reader如果为空不返回(不显示)4、@JsonIgnor忽略Json中的一个字段加上@JsonIgnor注解后,id字段

2023-05-06 16:48:08 345

原创 常见处理json数据的类库

【代码】常见处理json数据的类库。

2023-05-06 16:16:27 55

原创 RESTful风格(个人笔记)

RestController 相当于是@Controller和@ResponseBody的结合体。@ResponseBody加在方法名前面,方法前面加上@ResponseBody默认返回json数据。@PathVariable 通过路径简单传参,可以传“数字”,“状态码”@RequestParam 通过url传参:可以传“表单”@RequestBody 可以传“对象”,“json”看http status code 就知道结果如何。看http method 就知道针对资源干什么。

2023-05-06 16:06:43 382

原创 宽带与带宽的区别

带宽是网速的计量单位宽带是一种业务,宽带是达到多少带宽的一种计量值,最初为64kbit/s,小于64kbit/s就是窄带

2020-04-26 08:57:23 947

原创 面试题-Eureka与Zookeeper的区别(个人理解)

eurekaAP - 可用性,分区容错性集群 - 对等结构zookeeperCP - 一致性,分区容错性集群 - 主从结构

2020-04-25 21:09:01 499 1

原创 面试题-SQL优化(个人理解)

SQL优化目的:提高程序运行效率SQL优化的常用方法:1、在where、order by设计的列上加索引2、在where条件判断语句中减少NULL、or关键字的使用,减少!=、<>操作符的使用3、减少使用in、not in的使用 ,可以用exists代替4、在where条件语句中减少运算表达式的使用,减少对字段进行函数操作5、查询语句中减少*的使用...

2020-04-17 19:24:35 571

原创 面试题-Sleep与wait区别(个人总结)

1、sleep是线程中的方法,但是wait是Object中的方法。2、sleep方法不会释放锁,但是wait会释放。3、sleep方法不依赖synchronized,但是wait依赖。synchronized。4、sleep不需要被唤醒,但是wait需要。区别-waitsleep同步只能在同步上下文中调用wait方法,或抛出IIIegaImonitorStateE...

2020-04-17 10:40:25 515

原创 面试题-如何防止SQL注入(个人总结)

什么是SQL注入通过操作输入来修改SQL语句来非法获取数据库中的数据解决思路:对用户输入的内容进行合法校验方案一:可以使用PreparedStatement方案二:使用正则表达式...

2020-04-17 09:52:58 1507

原创 SOA

2020-04-13 21:21:44 111

原创 乐观锁与悲观锁

乐观锁:认为是读多写少,进行写操作时,使用当前版本号与上次版本号是否一致,如果一致就进行写操作,如果不一致(重复读版本号-比较-写操作)。例如CAS悲观锁:认为是写多读少,借助数据库的锁机制,在修改数据之前,先对需要修改的数据加锁。想要修改数据,必须要获取锁。例如MySQL中的InnoDB相对而言,在高并发场景下,乐观锁的性能要优于悲观锁,但是安全性悲观锁很好。...

2020-04-13 09:38:43 159

原创 HttpServletResponse的getOutputStream()

通过HttpServletResponse的getOutputStream()创建一个输出流,那么servlet容器就会把response对象交给服务器,服务器将response对象中的内容拆解响应给客户端。详见:https://blog.csdn.net/nihaowoshiyudong/article/details/53455864...

2020-04-03 15:54:41 2408

原创 javaweb的前后端分离

核心思想是前端html页面通过ajax调用后端的restuful api接口并使用json数据进行交互。

2020-04-02 15:52:34 283

原创 HandlerMethodArgumentResolver 自定义参数解析

public interface HandlerMethodArgumentResolver { //用于判定是否需要处理该参数分解,返回true为需要,并会去调用下面的方法 boolean supportsParameter(MethodParameter parameter); //真正用于处理参数分解的方法,返回的Object就是controller方法上的形参对象 Object...

2020-04-01 15:53:35 286

原创 分布式锁的几种实现方式

基于数据库实现分布式锁基于数据库表:创建一张锁表,当我们要给某个方法(资源)加锁,可以在表中增加一条记录,想要释放锁的时候就删除这条记录。弊端:1:这把锁比较依赖数据库,一旦数据库挂掉,会导致业务系统不可用。2:这把锁没有失效时间,一旦解锁操作失败,就会导致锁记录一直存在数据库,其他线程无法再获得该锁。3:这把锁是非阻塞的,因为数据的insert操作,一旦插入失败就会直接报错,没有获得锁...

2020-03-23 19:47:27 73

原创 数据库之事务的隔离级别

ISO 和 ANIS SQL 标准制定了四种事务隔离级别,而 InnoDB 遵循了 SQL:1992 标准中的四种隔离级别READ UNCOMMITED: 使用查询语句不会加锁,可能会读到未提交的行(Dirty Read)READ COMMITED: 只对记录加记录锁,而不会再记录之间加间隙锁,所以允许新的记录插入到被锁定的附近,所以再多次使用查询语句时,可能得到不同的结果(Non-Repe...

2020-03-22 21:09:41 64

原创 JVM GC 原理

详见https://www.cnblogs.com/yy3b2007com/p/10975870.html

2020-03-20 09:12:31 85

原创 java双亲委派机制及作用

什么是双亲委派机制当某个类加载器需要加载某个.class文件时,它首先委托给上级类加载器,依次递归,如果上级类加载器没有加载,自己才会去加载这个类。类加载器的类别BootstrapClassLoader(启动类加载器)1.负责加载jdk/lib/rt.jar里面的类2.构造ExtClassLoader和AppClassLoaderExtClassLoader(标准扩展类加载器)负责加...

2020-03-19 21:09:01 295

原创 java中的classpath

本文转自:http://blog.csdn.net/javaloveiphone/article/details/519942681、src不是classpath, WEB-INF/classes和lib才是classpath,WEB-INF/ 是资源目录, 客户端不能直接访问。2、WEB-INF/classes目录存放src目录java文件编译之后的class文件,xml、propertie...

2020-03-19 19:48:43 80

原创 主键丶外键丶索引的区别

2020-03-11 20:48:19 73

原创 Spring框架中的依赖注入(set)

参考:https://blog.csdn.net/lishuangzhe7047/article/details/20740835

2020-03-10 15:44:47 62

原创 Add project to working sets

2020-03-10 13:10:20 758 1

原创 对新技术感到困惑时

前段时间在学习java web 的中的SSM架构,我们习惯把一个项目分为Dao,Service,POJO,controller,vo 层,当时面对这样的设计百思不得其解,3个月过去了,恍然醒目,这是为了合理的管理项目,让各个模块的代码各司其职,分工合作,减少类与类之间的耦合,提高代码的扩展性和可维护性,使代码很灵活…当我们在学习新技术,在某个知识点或理解某个原理感到困惑的时候,不妨先暂时跳过对它...

2020-03-09 21:07:32 105

原创 spring整合mybatis(个人)

有关Spring框架整合xxx框架的理解例如:Spring整合Mybatis就可以理解为Spring框架和Mybatis搭配起来使用.在java中我们所说的框架其实就是一组封装好的工具,拿过来就可以使用....

2020-03-09 19:27:09 49

原创 JVM的理解

JVM:相当于一台虚拟的PC,它是一种规范,不同虚拟机版本做了不用的实现,结构如下图一:图二:

2020-03-09 10:42:43 84

原创 JDK>JRE>JVM的关系

JDK:Java开发工具包,包含如下目录bin:最主要的是编译器(javac.exe,javac指令用来将java文件编译成class文件,jar.exe, javadoc.exe等等用于开发的可执行指令文件,JVM执行class还需要调用lib库)include:java和JVM交互所用的头文件lib:类库jre:java运行环境,jre=JVM+lib注:安装JDK中的两个jre是...

2020-03-09 10:37:04 66

原创 关于面向对象编程的感悟

面向对象编程:new一个对象,然后调用它的方法后产生一个对象A.路径1:要么去==调用对象A==的方法来完成业务路径2:用过另外一个==对象B的某个方法去调用对象A==(此时通常把对象A作为参数传递给对象B使用).生活化:一个对象就像一个工厂,对象里面的一个方法就是一台机器,我们把原材料(数据)给机器(方法)加工,产生一些部件(半成品数据),通过各个工序,生产出我们想要的物品(数据)来...

2020-03-07 12:08:41 195

原创 Spring MVC的理解

MVC概念:MVC是一种软件设计模式Model(模型) -代表存取数据的对象或POJO,可以包含业务逻辑.View(视图) - 代表模型包含的数据的可视化.Controller(控制器) - 用于转发和处理请求,使模型和视图分开.JavaEE平台MVC设计思想的应用请求流程:1)客户端发送请求到过滤器处理2)将过滤后的请求交给Servlet3)Servlet调用Service...

2020-03-05 20:05:05 105

原创 浅谈Spring

对Spring的理解Spring是一个优秀的资源整合框架,用于科学的管理对象,它的优秀体现在(高效,低耗,稳定,易维护).Spring Bean对象的特性Scope,Lazy,Lifecycle method,Spring借助ApplicationContext对象将创建的Bean实例存储到指定作用域,作用域不同则生命周期不同,有些对象不需要重新创建但要重复使用,就可以进行单例设计(Sco...

2020-03-05 15:17:41 145

原创 java程序员常用网站

https://stackoverflow.com/maven依赖:https://mvnrepository.com/windows系统:https://msdn.itellyou.cn/mybatis官网:https://mybatis.org/mybatis-3后端格式:https://adminlte.io/阿里镜像:https://opsx.alibaba.com/mirror...

2020-03-04 20:29:59 186

原创 拦截器(Interceptor)与滤器(Filter)的本质区别

拦截器(Interceptor):依赖于web框架,是基于Java发射机制实现的,属于面向切面(AOP)的一种运用;过滤器(Filter)依赖于servlet容器,是基于函数回调实现的,从灵活性上面考虑,拦截器功能更强大,Filter能做的事,它都能做,而且可以在请求前,请求后执行,比较灵活,Filter主要是针对URL地址做一个编码的事情,过滤掉没用的参数,安全校验(比如用户登录)....

2020-03-04 19:47:04 119

原创 对Spring框架的理解

Spring框架是一个资源整合框架,本质上是bean容器,通过IOC思想实现了对象的创建与合理分配使用,在高效低耗的同时达到对象之间的解耦,使程序具有扩展和可维护性在Spring框架中IOC模块的入口就是一个工厂(BeanFactory),此工厂负责基于配置文件或配置类创建类实例,并且可以借助ApplicationContext对象将创建的Bean实例存储到指定作用域,需要时再从作用域进行获取....

2020-03-03 21:29:01 117

原创 java中的四大引用

概念1.StrongReference(强引用):垃圾回收器不会回收释放该对象,需要自己去释放。当内存不足时就直接抛出内存溢出(OOM)。2.SofeReference(软引用):当内存不足时,触发GC会释放对象内存,内存足够即使GC也不会释放该对象。3.WeakReferecne(弱引用):当触发GC时就会释放对象内存。4.PhantomReference(虚引用):具体也不知道用来干嘛...

2020-03-03 21:05:11 104

原创 Mybatis中的SerializedCache(序列化和反序列化)

Mybatis中缓存的配置readOnly属性可以设置为true或false。只读缓存将把缓存对象的相同实例返回给所有调用者。因此,不应修改此类对象。但是,这提供了显着的性能优势。读写缓存将返回(通过序列化)缓存对象的副本。这比较慢,但更安全,因此默认值为false。readOnly=true是读缓存,readOnly=false是写缓存默认如下自定义配置如下SerializedCa...

2020-03-03 20:53:33 1269

原创 ThreadLoad的应用(个人)

SqlsessionTemplate是线程共享的(底层通过ThreadLoad来实现)要实现对象在线程内部共享,可以使用ThreadLoad对象可以把对象B绑定到当前线程A,其中Key是ThreadLoad,value就是被绑定的对象,如下图== 使用ThreadLoad对象把SimpleDateFormat绑定到当前线程使SimpleDateFormat在当前线程中只有一份==demop...

2020-03-02 20:42:56 1990

空空如也

空空如也

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

TA关注的人

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