
java
文章平均质量分 53
水巷石子
大道至简
展开
-
Java面试题03——CAS
CAS英文全(Compare And Swap)指比较并交换。CAS算法包含3个参数(V,E,N)V表示要更新的变量E表示预期的值N表示新值在且仅在V值等于E值时,才会将V值设为N,如果V值和E值不同,则说明已经有其他线程做了更新,当前线程什么都不做。最后,CAS返回当前V的真实值。对CAS算法的实现有一个重要的前提:需要取出内存中某时刻的数据,然后在下一时刻进行比较、替换,在这个时间差内可能数据已经发生了变化,导致产生ABA问题。原创 2024-01-22 22:03:15 · 837 阅读 · 0 评论 -
java面试题——多线程01
wait方法和sleep方法所在的类不同,wait方法在object类,sleep方法是Thread类中的static方法。可见性:多核CPU的三级缓存都是独立的,只改自己的工作内存,没及时同步到主内存,导致数据不一致问题。原子性的定义:原子性指一个操作是不可分割的,不可中断的,一个线程在执行时,另一个线程不会影响到它。执行该方法之后,线程并不会马上停止,而是将一个中断标记位设置为了true,由线程自己停止。sleep方法不需要别人唤醒,设置睡眠时间之后,自己醒来,继续执行,同时不会释放锁。原创 2024-01-21 22:02:34 · 536 阅读 · 0 评论 -
解决java中mybatis报错:org.apache.ibatis.binding.BindingException:Invalid bound statement (not found):xx
org.apache.ibatis.binding.BindingException:Invalid bound statement (not found):xx原创 2024-01-14 00:29:05 · 700 阅读 · 0 评论 -
# 解决启动springboot项目,报错Field userMapper in xxx required a bean of type ‘xxx‘ that could not be found.
解决启动springboot项目,报错Field userMapper in xxx required a bean of type 'xxx' that could not be found.原创 2024-01-13 23:00:34 · 796 阅读 · 0 评论 -
解决springboot项目启动报错Error creating bean with name ‘dataSourceScriptDatabaseInitializer‘
pom.xml文件,缺少mysql的依赖。原创 2024-01-13 22:40:25 · 3205 阅读 · 0 评论 -
restfulWebservice简介
restfulWebservice简介,认识http方法,restful风格,以及报错的分类原创 2023-02-16 17:58:43 · 273 阅读 · 0 评论 -
maven快速打包
maven快速打包方式原创 2023-02-03 14:18:55 · 863 阅读 · 0 评论 -
JAVA项目启动卡住,无任何异常信息的解决办法
JAVA项目启动卡住,无任何异常信息的解决办法原创 2022-10-12 11:45:19 · 2311 阅读 · 0 评论 -
解决java方法中添加两个@RequestBody注解参数,swagger传参报错的问题
解决java方法中添加两个@RequestBody注解参数后,swagger传参报错的问题。查资料后,发现一个方法参数中只能使用一个@RequestBody注解。最终是将两个json合并为一个,嵌套方案解决。最终代码中根据名称,获取对应的json串。原创 2022-03-25 15:54:01 · 7284 阅读 · 2 评论 -
解决使用@Validated注解进行校验却没有效果的问题
场景描述:Controller层方法参数中添加了@Validated注解对应参数的字段添加验证规则问题描述:在页面添加属性分组时,分组ID字段的正则验证不起效果,依然可以保存中文、特殊字符等问题定位:回看上面的代码,可以发现。@Validated引用了分组而对应的参数groupId并没有被分配的该组中。解决办法:将groupId参数分配到@Validated验证组Insert.class中。结果验证:知识点总结:@Validated校验与groups分组的关系@Va原创 2022-03-22 09:44:54 · 11086 阅读 · 1 评论 -
java面试常见问题1
这里写目录标题如何实现一个IOC容器java类加载器双亲委派模型java中的异常体系GC如何判断对象可以被回收如何实现一个IOC容器1、配置文件配置包扫描路径2、递归包扫描获取.class文件3、反射、确定需要交给IOC管理的类4、对需要注入的类进行依赖注入配置文件中指定需要扫描的包路径定义一些注解,分别表示访问控制层、业务服务层、数据持久层、依赖注入注解、获取配置文件注解从配置文件中获取需要扫描的包路径,获取到当前路径下的文件信息及文件夹信息,我们将当前路径下所以.class结尾的文件添原创 2022-01-15 14:08:58 · 399 阅读 · 0 评论 -
ConcurrentHashMap原理及jdk1.7与1.8版本对比
这里写目录标题jdk7jdk8CASReentrantLockvolatile关键字**原子性****可见性**有序性jdk7数据结构: ReentrantLock+Segment+HashEntry,一个Segment中包含一个HashEntry数组,每个HashEntry又是—个链表结构元素查询:二次hash,第一次Hash定位到Segment,第二次Hash定位到元素所在的链表的头部锁: Segment分段锁Segment继承了ReentrantLock,锁定操作的Segment,其他的Seg原创 2022-01-15 12:11:17 · 397 阅读 · 0 评论 -
java: 错误: 无效的源发行版:16
java: 错误: 无效的源发行版:16使用IDEA运行java项目的时候,报java: 错误: 无效的源发行版:16, 我们应该怎么办呢?问题截图:1.进入project Structure2.修改配置问题解决!!!原创 2021-07-19 17:42:00 · 6792 阅读 · 3 评论 -
java8新特性stream流
本文章 转载自头条网, 只是觉得好用很详细,所以自己收集 做下笔记,不做任何商业用途,不收任何费用,不喜勿喷。致敬 头条@程序猿的内心独白1. Stream初体验我们先来看看Java里面是怎么定义Stream的:A sequence of elements supporting sequential and parallel aggregate operations.我们来解读一下上面的那句话:Stream是元素的集合,这点让Stream看起来用些类似Iterator;可以支持顺序和并行原创 2021-04-22 10:19:16 · 266 阅读 · 2 评论 -
springData中的@Query注解及@Modifying注解
@Query注解@Query注解查询适用于所查询的数据无法通过关键字查询得到结果的查询。这种查询可以摆脱像关键字查询那样的约束,将查询直接在相应的接口方法中声明,结构更为清晰,这是Spring Data的特有实现。@Query有两种参数表示形式:索引参数与命名参数第一种:索引参数:索引参数如下所示,索引值从1开始,查询中**"?X"**个数需要与方法定义的参数个数相一致,并且顺序也要一致。@Query("SELECT p FROM Person p WHERE p.lastName = ?1 AN原创 2021-04-21 15:33:45 · 1097 阅读 · 1 评论 -
leetcode70(难度:简单)爬楼梯
题目:假设你正在爬楼梯。需要 n阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1 阶 + 1 阶 + 1 阶1 阶 + 2 阶2 阶 + 1 阶这个是典型的动态规划问题当n小于2的时候,结果就是n。当n大于2的时候,当n=3的时候,等于n=2原创 2021-04-16 18:02:02 · 245 阅读 · 2 评论 -
java中构造函数-静态代码块-代码块的执行顺序
面试题中,经常遇到这种题,我们只要记住一个原则,就不会出错。== 三者的执行顺序:静态代码块>代码块>构造函数 ==package com.lbl.constructor;/** * Created by 李柏霖 * 2020/11/20 20:25 */public class Test01 { public Test01() { System.out.println("==== 父 ===="); } public Test01(in原创 2020-11-20 21:13:52 · 887 阅读 · 4 评论 -
saas-export项目-页面结构与company的添加-查询-删除功能
学习目标(1)页面结构(2)完成企业管理的CRUD(***)(3)技巧部署export项目的UI(1)将资料里面的项目页面的内容复制到webapp下面(2)设置项目路径${path} 重新部署(3)WEB-INF下的内容不能直接访问,可以使用控制器方法访问(4)学习重点在后台,前台页面不是重点内容如果页面杂乱,一定是css没有引入有问题 点击有问题,是js引入有问题 图片显示不正常,是img引入有问题main 页面分析(1)页面结构header footer left_原创 2020-10-30 20:53:19 · 2287 阅读 · 5 评论 -
ssm整合之CRUD增删改查(ajax版)案例
最终页面效果:案例目录结构数据库表表的设计:Controller方法返回值类型Object(1)Controller方法返回类型可以有几种?ModelAndViewvoidStringObject(2)@ResponseBody调jackson库将Object转成json字符串返回如果没有依赖jackson库则,抛出异常HttpMessageNotWritableException: No converter found for return value of type原创 2020-10-24 21:24:24 · 3272 阅读 · 172 评论 -
SSM整合之CRUD增删改查案例(非ajax版)
最终页面效果:最终项目的目录结构数据库表表的设计: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原创 2020-10-24 20:55:44 · 1030 阅读 · 6 评论 -
JavaOOP面试题02(基本数据类型、方法的重载与重写,java中的常用包等)
JavaOOP面试题0221、String 是最基本的数据类型吗?22、float f=3.4;是否正确?23、short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1; 有错吗?24、重载和重写的区别重写**(Override)**重写 总结:重载(Overload)重载总结:25、equals与==的区别==:equals:总结:36、++i与i++的区别37、程序的结构有那些?38、数组实例化有几种方式?39、Java中各种数据默认值40、Java常用包有原创 2020-10-24 15:08:33 · 1208 阅读 · 2 评论 -
saas-export项目之前端AdminLTE
(1)AdminLTE是什么?AdminLTE是一款建立在bootstrap和jquery之上的开源的模板主题工具(2)AdminLTE有什么特点?》》提供一系列响应的、可重复使用的组件, 并内置了多个模板页面》》自适应多种屏幕分辨率,兼容PC和移动端》》快速的创建一个响应式的Html5网站》》AdminLTE 不但美观, 而且可以免去写很大CSS与JS的工作量AdminLTE入门程序(1)官方原版https://adminlte.io/https://github.com/Col.原创 2020-10-23 16:57:09 · 1214 阅读 · 2 评论 -
日期类型转换器
(1)springMVC默认不支持页面上的日期字符串到后台的Date的转换url?date=2020-02-02 方法(Date date)(2)可以有两种方式》》配置全局日期转换器》》配置日期转换注解StringToDateConverter/** * 日期类型转换器 * 泛型一:源类型 * 泛型二:目录类型 */public class StringToDateConverter implements Converter<String,Date>{ @Ov.原创 2020-10-23 16:53:24 · 1437 阅读 · 0 评论 -
java8新特性lambda表达式初体验
我这边结合我项目案例来说明。业务说明:首先调用productService的findUpAll()方法,查询所有的上架商品productInfoList然后一次性查询类目,这边传统的方法,是1.先new一个ArrayList集合categoryList2.然后用foreach遍历前面查询到的productInfoList集合(所有上架商品集合)将所有商品的categoryType存到categoryList中。传统方法: //一些无关代码省略 @Autowired原创 2020-10-21 20:06:34 · 2000 阅读 · 4 评论 -
解决VO类属性与要返回的json串字段名称不一样的问题
结论:解决VO类属性与要返回的json串字段名称不一样的问题,需要用到@JsonProperty(“xxx”)这个注解那具体怎么使用呢?下面我拿我个人的例子来说明。需要返回的json串字段格式如下:{ "code": 0, "msg": "成功", "data": [ { "name": "热榜", "type": 1, "foods": [ {原创 2020-10-21 14:54:53 · 5776 阅读 · 25 评论 -
IDEAl中try-catch的快捷键
try-catch的快捷键是Ctrl+Alt+T我想要将下图中代码用try-catch包裹下面是详细步骤:第一步:选中你想要进行try-catch的代码第二步使用快捷键Ctrl+Alt+T选择try-catch选项选择之后,目标段就被try-catch包裹了!!!...原创 2020-10-19 20:41:52 · 13946 阅读 · 14 评论 -
解决org.springframework.http.converter.HttpMessageNotWritableException: No converter found for retur
问题如下图:Result/** * Created by 李柏霖 * 2020/10/19 17:37 */package com.lbl.VO;import lombok.AllArgsConstructor;import lombok.NoArgsConstructor;@AllArgsConstructor@NoArgsConstructorpublic class Result { private int code;//编码 404 200 privat原创 2020-10-19 20:18:43 · 15253 阅读 · 7 评论 -
解决springmvc中添加了静态资源访问路径之后就访问不到Controller路径的问题
访问不到Controller,也访问不到controller路径。Controller代码:/** * Created by 李柏霖 * 2020/10/19 17:35 */package com.lbl.controller;import com.lbl.domain.Employee;import com.lbl.service.IEmployeeService;import org.springframework.beans.factory.annotation.Autow原创 2020-10-19 19:29:53 · 4173 阅读 · 0 评论 -
解决java使用mybatis方式传入数据库值,出现乱码
java日志显示,没有出现乱码但查看数据库,发现是??乱码:首先检查数据库中编码:我这边显示的是utf-8,那么数据库没有问题。最终想到下面解决办法。解决办法:在jdbcUrl后面加上?useUnicode=true&characterEncoding=utf8jdbc:mysql://localhost:3306/xxx?useUnicode=true&characterEncoding=utf8问题解决:...原创 2020-10-18 16:08:45 · 4018 阅读 · 4 评论 -
解决disabled标签内的value不能传值给服务器
disable的标签值不会传值给服务器<input type="text" name="did" value="${dept.did}" disabled="disabled"/><br/>解决方法将表单中字段 disabled 用 readonly 代替即可(如有需要,可以对该表单加上灰色的背景色)<input type="text" name="did" value="${dept.did}" readonly/><br/>可以在写一原创 2020-10-18 15:05:06 · 4565 阅读 · 2 评论 -
TCP的四次挥手(Four-Way Wavehand)
1、前言对于"三次握手"我们耳熟能详,因为其相对的简单。但是,我们却不常听见“四次挥手”,就算听过也未必能详细地说明白它的具体过程。下面就为大家详尽,直观,完整地介绍“四次挥手”的过程。2、“四次挥手”的详解所谓的四次挥手即TCP连接的释放(解除)。连接的释放必须是一方主动释放,另一方被动释放。以下为客户端主动发起释放连接的图解:挥手之前主动释放连接的客户端结束ESTABLISHED阶段。随后开始“四次挥手”:(1)首先客户端想要释放连接,向服务器端发送一段TCP报文,其中:标记位为FIN,表原创 2020-10-17 23:55:15 · 7126 阅读 · 18 评论 -
@GetMapping注解的理解
Spring的复杂性不是来自于它处理的对象,而是来自于自身,不断演进发展的Spring会带来时间维度上复杂性,比如SpringMVC以前版本的*@RequestMapping*,到了新版本被下面新注释替代,相当于增加的选项:@GetMapping@PostMapping@PutMapping@DeleteMapping@PatchMapping从命名约定我们可以看到每个注释都是为了处理各自的传入请求方法类型,即*@GetMapping用于处理请求方法的GET类型,@ PostMapping用原创 2020-10-17 20:42:00 · 96840 阅读 · 10 评论 -
@RestController注解的理解
一、在Spring中@RestController的作用等同于@Controller + @ResponseBody。所以想要理解@RestController注解就要先了解@Controller和@ResponseBody注解。二、@Controller注解在一个类上添加@Controller注解,表明了这个类是一个控制器类。这里省略对Controller注解的说明了。三、@ResponseBody注解@ResponseBody表示方法的返回值直接以指定的格式写入Http response bo原创 2020-10-17 20:40:20 · 22124 阅读 · 3 评论 -
微信点餐系统——用Enum枚举来保存商品状态
什么是枚举?枚举是JDK5引入的新特性。在某些情况下,一个类的对象是固定的,就可以定义为枚举。在实际使用中,枚举类型也可以作为一种规范,保障程序参数安全。枚举有以下特点:Java中枚举和类、接口的级别相同。枚举和类一样,都有自己的属性、方法、构造方法,不同点是:枚举的构造方法只能是private修饰,也就无法从外部构造对象。构造方法只在构造枚举值时调用。使用enum关键字声明一个枚举类型时,就默认继承自Java中的java.lang.Enum类,并实现了java.lang.Seriabl原创 2020-10-17 19:38:07 · 3865 阅读 · 0 评论 -
使用IDEA将git分支中的内容合并到master主分支
现在我是dev3分支,我想把dev3分支中的内容,合并到主分支,让主分支和dev3中的内容一样。(我这边已经将dev3中的代码提交到了远程库)首先选择到master分支然后选择VCS下的Git下的pull选项然后选择你想要合并同步的分支点击pull然后,重新pushpush这样就完成dev3分支代码同步到master主分支啦!!...原创 2020-10-17 17:15:17 · 13024 阅读 · 0 评论 -
警告!千万不要删除IDEA中的Remote Branches分支
如果你把IDEA中Remote Branches的分支删除那么你运程仓库的分支也会删除所以,最好不要删除!!!不然你运程仓库中的分支就没了原创 2020-10-17 16:27:58 · 7276 阅读 · 3 评论 -
微信点餐系统——买家类目service层创建并测试通过
ICategoryService/** * Created by 李柏霖 * 2020/10/17 15:17 */package com.lbl.service;import com.lbl.dataObject.ProductCategory;import java.util.List;public interface ICategoryService { //卖家 ProductCategory findOne(Integer categoryId);原创 2020-10-17 16:19:01 · 3751 阅读 · 3 评论 -
IDEA如何快速创建对应类的测试类
比如我想要测试项目中的某一个类。这边我具体到想测试CategoryServiceImpl这个类,如下图:只需要将双击这个类,鼠标右键,然后选择go to到Test.点击,创建测试然后勾选你想要测试的方法点击确定之后测试类和前面勾选的方法都已经自动生成了。测试类快速创建完毕!!!...原创 2020-10-17 15:39:21 · 11259 阅读 · 0 评论 -
mybatis方法参数是list的批量插入
要想批量插入,首先要知道forEach标签:foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合。foreach元素的属性主要有 item,index,collection,open,separator,close。item表示集合中每一个元素进行迭代时的别名,index指定一个名字,用于表示在迭代过程中,每次迭代到的位置,open表示该语句以什么开始,separator表示在每次进行迭代之间以什么符号作为分隔 符,close表示以什么结束,在使用foreach的时候最关键的原创 2020-10-16 15:23:12 · 7312 阅读 · 6 评论 -
SSM三大框架整合
(1)SSM是什么?Spring,SpringMVC,Mybatis(2)为什么要专门训练SSM要开发一个项目,首先是搭建SSM环境,之后才能开发其他功能(3)整合思路是什么?1.先搭建整合的环境2.先把Spring的配置搭建完成3.再使用Spring整合SpringMVC框架4.最后使用Spring整合MyBatis框架(4) SSM整合可以使用多种方式,咱们会选择XML+注解的方式SSM搭建环境(1)数据库创建ssm(2)创建maven工程..原创 2020-10-16 15:05:58 · 4232 阅读 · 24 评论