![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
这儿有个昵称
这个作者很懒,什么都没留下…
展开
-
自动拆箱装箱笔记
Java是一个面向对象的语言,而Java中的基本数据类型不是面向对象的,这在实际使用时存在很多不便。比如:我们在使用带有泛型的类时,如果你把int放到泛型中会提示出错。需要将基本类型转成包装类型。就是把基本类型进行包装成一个对象,在英文中就是boxing(装箱)的意思。在JavaSE5中,为了减少开发人员的工作,Java提供了自动拆箱与自动装箱的功能。自动装箱:将基本类型自动转成对应的包装类。自动拆箱:将包装类自动转换成对应的基本数据类型。虽然包装类自动装箱和拆箱很方便,但当我们拿到一个包装类对象去做运算或原创 2022-06-19 10:53:07 · 85 阅读 · 0 评论 -
线程池笔记
小明最近打算出去玩,需要预定酒店。小明心想多久都没出来玩了,这次奢侈一把,定个好点的房间吧。于是,拿起电话打给酒店前台客服,小明:你好,请问是XX酒店吗?我想定一个总统套房。前台:您好,好的,我先帮您看下还有没有总统套房,请您先稍等一下。小明:好的。前台:您好,很抱歉,由于最近是假期,今天的总统套房都已经被定满了,明天可能会有空房哦。您那边是打算什么时候入住呢?小明:刚好是明天要入住,但是呢,因为最近人很多,都在定酒店。所以前台小姐姐帮我看下明天预约总统套房的人数是多少,预约人数有没有满。前台:好的,这边帮转载 2022-06-17 12:38:37 · 90 阅读 · 0 评论 -
配合datagrip和postman 批量处理数据
postman 批量处理数据原创 2022-06-14 17:39:18 · 566 阅读 · 0 评论 -
mysql 中的unsigned
mysql 中的unsigned原创 2022-06-06 11:23:19 · 470 阅读 · 0 评论 -
Optional flatMap 和map 的区别
Optional flatMap 和map 的区别原创 2022-06-02 17:56:09 · 1355 阅读 · 2 评论 -
桥接模式笔记
主要作用是通过将抽象部分与实现部分分离,把多种可匹配的使用进行组合。说白了核心实现也就是在A类中含有B类接口,通过构造函数传递B类的实现可以将抽象化部分与实现化部分分开,取消二者的继承关系,改用组合关系。抽象化(Abstraction)角色:定义抽象类,并包含一个对实现化对象的引用。扩展抽象化(Refined Abstraction)角色:是抽象化角色的子类,实现父类中的业务方法,并通过组合关系调用实现化角色中的业务方法。实现化(Implementor)角色:定义实现化角色的接口,供扩展抽象化角色调原创 2022-04-08 17:39:41 · 74 阅读 · 0 评论 -
fastJson JSON.toJSON 序列化为null
原因:用到了lombok 的以下写法@Accessors(chain = true,fluent = true)chain = true 可以把setter方法的返回值变成自己,以便于链式的写法fluent = true 给set和get的方法,去除get或set前缀,命名为fieldName(),而不是例如setFieldName这就导致了类中的属性是没有get和set前缀的方法,下面这fieldInfoList 就是空的最终结果JSON.toJSON(实体类)返回值..原创 2022-04-06 20:33:06 · 638 阅读 · 0 评论 -
简单JDK动态代理demo
动态代理demo/** * @Description: 定义一个女孩,声明这个女孩想干的事 */public interface Girl { void date(); void watchMovie();}/** * @Date: 2022/3/5 * @Version: 1.1 * @Description: 定义一个可爱美丽的热辣美女 */public class HotGirl implements Girl { public Ho原创 2022-03-05 12:04:44 · 301 阅读 · 0 评论 -
spring 总结错误2
在spring中允许存在一个bean类型下的多个bean,每个bean的name要求不一样。1、当我们在使用这个类型bean时,需要具体指定是什么名称的bean,不然就会出错。默认情况下 bean的名称是首字母的小写,但是也有例外。可以通过查看下面的代码得到java.beans.Introspector#decapitalize如果这个bean的name 首字母和第二个字母都是大写就直接返回它本身的类名作为bean名,如果长度大于0不为null那么bean名就是类名首字母小写。我们也可以原创 2022-02-12 17:17:14 · 370 阅读 · 0 评论 -
javax 和hibernate 的NotBlank
问题:hibernate版本在5 的时候,如果你用了 import javax.validation.constraints.NotBlank;在校验的时会报错HV000030: No validator could be found for constraint 'javax.validation.constraints.NotBlank' validating type 'java.lang.String'. Check configuration for 'updateInfo.paramD原创 2022-02-09 17:07:40 · 2212 阅读 · 1 评论 -
java 基础
class son extends parent implements Impl2,这种写法,子类要想得到impl2接口的方法该怎么写呢?1、可以看成,父类先实现impl2接口方法再给到子类去继承。 这样,父类完成实现接口的方法后,通过继承给到子类。子类就“合法”有了impl2的方法2、也可以是先继承父类,再到子类中去写实现impl2接口的方法第一种方法好处是装逼、并且可以实现一种方法的隔离设计。如果再有一个子类son2去继承parent,那么这个son2也是可以有Impl2的方法...原创 2021-12-10 19:48:09 · 308 阅读 · 0 评论 -
final的使用
这里写自定义目录标题final的使用修饰基本类型修饰对象final修饰方法和类final的使用修饰基本类型1、在方法外声明一个全局的基本类型可以一直开始就直接赋值,如果不赋值需要在构造函数中给变量赋值。如:number2如果搭配static 和final一起使用的话,就需要你再static代码块中为该变量赋值(static修饰的常量只能在static代码中初始化)2、如果是在方法内部中定义一个final变量,可以先不赋值,但是必须要在使用的时候给这个变量赋值修饰对象修饰变量为对象的时候,必原创 2021-09-30 14:22:41 · 72 阅读 · 0 评论 -
处理Java异常的10个最佳实践
以下文章来源于Java之道,作者HollisJava之道有道无术,术可成;有术无道,止于道;「Java之道」致力于为广大Javaer传道授业解惑。以术识道,以道御术;线上代码不要使用printStackTrace()写完代码后请一定要检查下,代码中千万不要有printStackTrace()。因为printStackTrace()只会在控制台上输出错误的堆栈信息,他只适合于用来代码调试。真正需要记录异常,请使用日志记录。永远不要在catch块中吞掉异常catc...转载 2020-09-16 10:41:38 · 71 阅读 · 0 评论 -
Oauth2设置令牌过期时间accessTokenValiditySeconds,在代码中怎么判断是否过期
我们再配置ouath2的时候都会配置资源认证的服务器其中在配置授权服务器断点时会配置令牌的存储:tokenStore(tokenStore) ,这个令牌存储中会存令牌的过期时间,cliend_id,name等信息,一般默认使用InMemoryTokenStore()存储。我们可以在AuthorizationServerEndpointsConfigurer类中查看区别判断token的存储代码逻辑有了上面的前提后,我们直接在AuthorizationServerEndpointsConfigure原创 2020-09-07 17:36:58 · 8498 阅读 · 1 评论 -
windows 安装elasticsearch 5.2.2(包括head、kibana插件)
es5以上版本安装head需要安装node和grunt(之前的直接用plugin命令即可安装)安装ElasticSearch5.2.2一、需要安装jdk8(jdk7不可以)二、安装ElasticSearch5.2.21、从官方下载中心ElasticSearch Download下载ElasticSearch安装包2,开启ElasticSearch 服务将zip文件解压到E盘,进入E:\elasticsearch-5.2.2\bin目录,双击执行elasticsearch.b...原创 2020-09-01 17:08:59 · 143 阅读 · 0 评论 -
idea项目target下无法生成读取资源文件
先删除target ,再rebuild project 试试原创 2020-08-28 10:48:24 · 483 阅读 · 0 评论 -
下载安装Seata 0.9版本
1、先在网上下载seatahttps://seata.io/zh-cn/blog/download.html2、解压后修改思路:自定义事务组名称+事务日志存储模式为db+数据库连接信息进入---》seata\conf ,打开file.conf修改自定义的tx_group打开registry.conf,修改存储类型为db和配置数据库地址在本地数据库创建Seata数据库后,...原创 2020-08-25 17:39:29 · 1757 阅读 · 0 评论 -
Spring 中Singleton 和Prototype 的作用域差异
结论一:Singleton Bean 无论是依赖查找还是依赖注入,均为同一对象Prototype Bean 无论是依赖查找还是依赖注入,均为新生成的对象结论二:如果依赖注入集合类型的对象,Singleton Bean 和 Prototype Bean 均会存在一个。Prototype Bean 有别于其他地方的依赖注入结论三:无论是Singleton还是Prototype, 均为执行初始化方法回调不过仅 Singleton 会执行销毁方法回调...原创 2020-08-17 10:30:40 · 320 阅读 · 0 评论 -
CAS 导出证书到jdk报错拒绝访问
今天在接触CAS时,跟着视频敲代码发现如下问题:在网上查找才知道原来我才知道 C:\Program Files\Java\jdk1.8.0_144\jre\lib\security下的cacerts 文件是受到保护的。所以你想把证书添加进去会拒绝。解决办法:选中该文件,找到属性配置选择当前电脑的用户,修改权限。最后成功...原创 2020-08-13 17:43:43 · 834 阅读 · 0 评论 -
Spring Security 密码方式认证代码解析
Spring Security教程网上都有,可以先自行下载到本地运行。我现在只讲讲其中用密码认证时,匹配密码是否一致的具体代码在哪里看。首先,我们在WebSecurityConfig中先配置密码加密的方式,一般都是BCryptPasswordEncoder这种的加密方法让我们仔细分析认证过程:用户提交用户名、密码被SecurityFilterChain中的 UsernamePasswordAuthenticationFilter 过滤器获取到, 封装为请求Authentication,通常情况下原创 2020-08-12 11:57:25 · 315 阅读 · 0 评论 -
maven的jar库版本说明-----pom<version>
1.参考资料maven的版本规范(七) maven 依赖规则&版本锁定 Maven 依赖范围 Maven详解之------maven版本管理 maven依赖指定版本范围或者最新版本 dependencyManagement使用简介 maven指定版本号范围写法 Maven profiles 多环境配置,测试环境与开发环境分开打包2.版本定义pom中外部包引用实例,使用标签<version>管理版本。<dependency> <group转载 2020-08-14 15:57:02 · 4114 阅读 · 2 评论 -
@Transactional 的用法
开始主题@Transactional如果只这样写,Spring框架的事务基础架构代码将默认地 只 在抛出运行时和unchecked exceptions时才标识事务回滚。也就是说,当抛出个RuntimeException 或其子类例的实例时。(Errors 也一样 - 默认地 - 标识事务回滚。)从事务方法中抛出的Checked exceptions将不被标识进行事务回滚。1 让checked例外也回滚:在整个方法前加上 @Transactional(rollbackFor=E...原创 2020-08-03 11:34:36 · 1478 阅读 · 0 评论 -
ObjectBean与BeanFactory之间的区别(小马哥视频笔记)
ObjectFactory 与 BeanFactory 均提供依赖查找的能力。ObjectFactory 仅关注一个或一种类型的 Bean 依赖查找,自身不具备依赖查找的能力,能力由 BeanFactory 输出;BeanFactory 提供了单一类型、集合类型以及层次性等多种依赖查找的方式。1、理解ObjectFactory关注一个Bean 的依赖查找可以在ObjectFactoryCreatingFactoryBean的注释翻译中可以看出这个类是会实现返回ObjectFactory的值,并且原创 2020-08-03 09:43:35 · 461 阅读 · 0 评论 -
IntelliJ IDEA中报错:Error: java: 无效的目标发行版本: 11
错误信息解决办法:1.Maven项目中检查pom.xml文件java.version的配置。2.在IntelliJ IDEA的Settings中检查Maven下runner的jre环境配置。3.在IntelliJ IDEA的Settings中检查项目编译器(Compiler的Java Compiler)中编译版本。4.在IntelliJ IDEA的Project Structure中检查Project,Modules,SDKs的jdk版本。...原创 2020-07-21 11:58:21 · 535 阅读 · 0 评论 -
ApplicationContext和BeanFactory的区别
1、BeanFactory是spring中比较原始的Factory,它是无法支持spring的许多插件。如Aop功能、Web应用等。而ApplicationContext接口,它是由BeanFactory接口派生而来的,所以它有BeanFactory的所有功能。同时它也继承了其他的接口,像MessageSource、ApplicationEventPublisher等,所以它也能提供资源访问ResourcePatternResolver、提供国际化的消息访问,事件传播ApplicationEventPubl原创 2020-07-14 08:25:23 · 1529 阅读 · 0 评论 -
Spring容器加载bean的过程
1、我们通过xml或注解或配置编写代码方式声明bean的信息.2、Spring都会把他们解析成一个BeanDefinition。每一个Bean对应一个BeanDefinition同时注册到BeanDefinitionRegistry,抽象类AbstractBeanDefinitionReader根据注册的BeanDefinitionRegistry得到bean的所有信息.3、接着会进入到AbstractApplicationContext 的refresh()方法,这个方法包含了很多重要bean实例化的原创 2020-07-02 16:21:26 · 255 阅读 · 0 评论 -
设置redis临时和永久密码
1、设置临时密码找到redis目录下redis-server.exe点击运行,再点击redis-cli.exe运行。输入config set requirepass root,回车即可root 就是redis的临时密码。验证是否成功设置 ,输入auth root 如果返回OK就说明成功2、设置永久的密码就需要再redis.conf或redis.windows.conf中输入requirepass root,保存后,在该redis目录下的路径栏输入cmd,进入命令模式,输入redis-serv原创 2020-06-13 16:55:51 · 2496 阅读 · 0 评论 -
Spring 注解模式管理事务
配置xml信息:<!-- 事务管理器对mybatis操作数据库事务控制,spring使用jdbc的事务控制类--><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <!-- 数据源dataSource在applicationContext-dao.xml中配置--> <property n.原创 2020-05-22 09:35:12 · 139 阅读 · 0 评论