![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
文章平均质量分 94
Nine_xu
你说你遇上了一大堆奇怪的人
展开
-
Android + Bmob 实现用户注册登录
Andoid + Bmob 实现用户注册登录原创 2022-07-05 22:30:08 · 1171 阅读 · 3 评论 -
对list进行手动分页返回PageInfo---直接使用即可
写了一个手动分页的功能,可以直接用,分享一下/*currentPage: 当前页数pageSize:每页条数list:要执行分页的数组 */public static <T> PageInfo<T> getPageInfo(int currentPage, int pageSize, List<T> list) { int total = list.size(); if (total > pageSize) {原创 2020-12-24 16:25:59 · 1529 阅读 · 2 评论 -
maven deploy上传文件到私服 神坑解决
maven deploy上传文件到私服 神坑解决命令行使用命令mvn deploy:deploy-file -DgroupId=com.sf -DartifactId=express -Dversion=2.1.1 -Dpackaging=jar -Dfile=E:\workplaces\java\SF-CSIM-EXPRESS-SDK-V2.1.1\SF-CSIM-EXPRESS-SDK-V2.1.1.jar -Durl=http://61.160.71.141:81/nexus/repository原创 2020-12-22 10:40:53 · 3084 阅读 · 0 评论 -
redis实现分布式锁---实操---问题解决
项目有一个留痕的操作,考虑到并发以及生产环境是多服务器的情况,决定使用分布式锁来保证并发下的正确性,由于是第一次做,除了一些问题,来记录一下:【本人经验不足,如有错误,希望得到大神的指教】项目的竞态问题是:同一用户/同一股票信息,都只记录一次,并且要拿到用户和股票的id来记录流水表就涉及到先判断后插入这种竞态操作第一版的思路是:用户进来后先去查一次数据库, 如果为空,就去获取锁, 如果获取到锁,就执行插入操作,插入完成后就释放锁;(获取锁就是插入一个代表当前用户的value值,释原创 2020-12-08 18:45:12 · 277 阅读 · 1 评论 -
excel数据导入到redis——可直接使用
做项目的时候写的一个接口,来记录一下:private static final String BLACK_KEY = "editorial:double12:black:set";@Resourceprivate StringRedisTemplate stringRedisTemplate;@ApiOperation(value = "将用户存入黑名单", notes = "将用户存入黑名单", httpMethod = "POST")@PostMapping("/saveUserToBl原创 2020-12-01 13:23:44 · 2148 阅读 · 1 评论 -
MapStruct使用——实体映射
最近在开发项目中经常会写例如这样的代码:UserScoreWater userScoreWater = UserScoreWater.builder() .cause(userScoreVo.cause) .channel(userScoreVo.channel) .mobile(userScoreVo.account) .operator(userScoreVo.operato原创 2020-11-03 09:03:50 · 1365 阅读 · 0 评论 -
解决java.util.ConcurrentModificationException,深究原理
在项目的时候,报了一个错 java.util.ConcurrentModificationException发现是list的remove方法报错,来总结一下:例子:public void test(){ List<String> list=new ArrayList<String>(); list.add("aaa"); list.add("bbb"); list.add("ccc"); list.stream().forEach(e-&原创 2020-09-03 16:10:29 · 1247 阅读 · 0 评论 -
StopWatch--打印各模块执行时间
写了一个导出的功能,但是在生产上遇到大数据会超时,需要看一下各部分用时。以前可能会用System.currentTimeMillis()做end-begin,现在有StopWatch,更加方便介绍一下StopWatch的使用上代码 public String exportUsedGlxCoupon(@RequestBody(required = false) StaffSendCouponStatisticVo statisticVo) { String fileName = "exp原创 2020-09-02 10:21:44 · 740 阅读 · 0 评论 -
Files.lines读取文本文件从一串到一行
要写一个copy的工具,目的是把两个版本git diff显示的发生变化的类拷贝到指定目录。发现Files.lines很好用,就来记录一下public static void main(String[] args) throws IOException { final String form = "D:\\ideaWorkspace\\um-mall-service\\"; // 原文件位置 final String to = "D:\\copy\\root\\"; /原创 2020-08-20 16:14:52 · 771 阅读 · 0 评论 -
sqlyog 连接 mysql(docker环境)报错2058
转自:https://www.cnblogs.com/leasonYin/p/12287183.htmlSqlyog安装后连接mysql数据库,报错:2058.这是密码加密算法更新导致的,解决如下:1.打开cmd 连接数据库:mysql -h localhost -P 3306 -u root -p1234562.进入mysql依次执行下面语句mysql -h localhost -P 3306 -u root -p123456①修改加密规则(注意不要忘记写分号“;”)alter use转载 2020-05-21 15:07:43 · 323 阅读 · 0 评论 -
理解Java按值传递&按引用传递
大家都知道的,在Java中:基本数据类型-------按值传递包装类型------------ 按引用传递举例:public static void main(String[] args) { int a = 1; StringBuffer s1 = new StringBuffer("hello"); System.out.println("原始的a:"+a+" 原始的s1:"+s1); change(a,s1);原创 2020-05-22 20:59:00 · 189 阅读 · 0 评论 -
job for docker.service failed
给docker配阿里云镜像后,出现错误查看docker version,发现没有server解决办法:就好了原创 2020-05-21 13:30:52 · 355 阅读 · 0 评论 -
解决使用LocaleResover做国际化遇到的一个小问题
问题: 项目是SpringBoot的,在登陆页面要求实现国际化,但是点击中文/英文没有效果原始实现步骤:1)、编写国际化配置文件,抽取页面需要显示的国际化消息2)、SpringBoot自动配置好了管理国际化资源文件的组件;只需要在配置文件中配置spring.messages.basename=i18n.login告诉springboot国际化在这里3)、去页面获取国际化的值;&...原创 2020-05-08 12:18:11 · 1211 阅读 · 1 评论 -
springboot集成thymeleaf,页面显示不出来
错误: 集成thymeleaf(3.0.11)后,不能返回页面,只返回字符串。分析: 因为使用了@RestController注解,而@RestController = @Controller + @ResponseBody其中@ResponseBody注解的作用是, 将方法的返回值,以特定的格式写入到response的body区域,进而将数据返回给客户端。所以只返回字符串。...原创 2020-05-05 15:37:12 · 1121 阅读 · 0 评论 -
【Java学习笔记】 Information:javac 1.8.0_181 was used to compile java sources
导入新包然后运行的时候,报错”无效的发行版“、”javac 1.8.0_181 was used to compile java sources“报错原因:因为Idea中已经配置了jdk 1.8.0_181的版本,但Idea有几个地方的jdk版本被默认为1.9版本的jdk。解决办法:1、file->project structure2、检查以下两个地方jdk版本是否为1....原创 2019-07-17 17:15:32 · 31452 阅读 · 23 评论 -
动态代理与静态代理 原理剖析
代理模式: 所谓代理模式,就是通过代理方法来操作目标对象,而不是自己调用。 代理又分为静态代理和动态代理。静态代理和动态代理的区别就是:一个是静态的,一个是动态的,静态代理需要手动编写代理对象让他实现接口,所以最终得到的代理对象的类是确定的。而动态代理让程序在运行的时候自动在内存中通过反射创建一个实现 接口的代理。怎么能体现:举个手机的例子:静态代理需要以下接口和类:手机接口:M...原创 2020-04-04 22:15:24 · 150 阅读 · 0 评论 -
静态代码块和实例化代码块
静态代码块: 随着类的加载而执行,并且只执行一次实例化代码块: 执行多次静态代码块的优先级高于实例化代码块(之后才是构造函数)public class test { public static void main(String[] args) { Demo01 t1 = new Demo01(); Demo01 t2 = new Demo01...原创 2020-03-16 13:38:59 · 208 阅读 · 0 评论 -
String、StringBuilder、StringBuffer原理
文章目录StringStringBuffer 和 StringBuilder 类那么String为什么是不可变类?StringBuffer 和 StringBuilder为什么是可变类三者的效率问题String 不可变类, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,这样不仅效率低下,而且大量浪费有限的...原创 2020-03-13 22:24:22 · 136 阅读 · 0 评论 -
单例模式
核心作用: 保证一个类只有一个实例,并且提供一个访问改实例的全局访问点常见场景windows的任务管理器windows的回收站项目中,读取配置文件的类,一般也只有一个对象,没必要每次都去new对象读取数据库连接池的设计一般也是单例模式在Servlet编程中,每个Servlet也是单例的在Spring中,每个Bean默认就是单例的优点由于单例模式只生成了一个实例,减少了系...原创 2020-03-13 21:59:15 · 119 阅读 · 0 评论 -
数据库索引
文章目录为什么是B+树?innodb和myisam存储引擎概念假设有一张表 tep ,要查询表中id为6的一条记录,如果没有索引,就一行一行对比,但表中的数据都是存储在磁盘上,这就意味着可能要经历多次磁盘IO,而磁盘IO操作非常耗时,所以效率低索引就是帮助MySQL高效获取数据的排好序的数据结构索引的数据结构:二叉树红黑树Hash表B-Tree为什么是B+树?二叉查...原创 2020-03-11 22:44:07 · 88 阅读 · 0 评论 -
SpringBoot整合rabbitMQ
文章目录RabbitMQ的工作原理图:Spring整合RibbitMQRabbitMQ常用工作模式测试RabbitMQ的工作原理图:Spring整合RibbitMQ第一步:添加依赖<dependencies> <dependency> <groupId>org.springframework.boot</groupId...原创 2020-03-04 14:34:15 · 157 阅读 · 0 评论 -
RestTemplate请求http接口
在做页面静态化的时候用到,就来记录以下。SpringMVC提供 RestTemplate请求http接口,RestTemplate的底层使用第三方的http客户端工具实现http 的 请求,常用的http客户端工具有Apache HttpClient、OkHttpClient等,这里使用OkHttpClient完成http请求。简单的说RestTemplate其实就是一个http的客户端。使...原创 2020-02-28 21:12:47 · 472 阅读 · 0 评论 -
全文检索Lucene
文章目录概念使用第一步:创建索引第二步:使用索引索引库的删除索引库的更新索引库的查询第一种:TermQuery第二种:数值范围查询第三种:queryparser概念Lucene是Apache下的一个开放源代码的全文检索引擎工具包使用第一步:创建索引首先,创建一个java工程,并导入jar包。步骤:创建一个Director对象,指定索引库保存的位置。基于Directory对象创建...原创 2020-02-12 11:01:28 · 114 阅读 · 0 评论 -
JionPoint
JoinPointJoinPoint对象封装了SpringAop中切面方法的信息,在切面方法中添加JoinPoint参数,就可以获取到封装了该方法信息的JoinPoint对象.常用API:Object getTarget() :获取连接点所在的目标对象(也就是被代理的对象);例如:我的项目中需要获得当前用户访问的类:// 2.访问的类 Class clazz = jp.get...原创 2020-02-10 16:44:03 · 313 阅读 · 0 评论 -
页面端标签控制权限
在jsp页面中,可以使用spring security提供的权限标签来进行权限控制第一步:pom.xml文件中引入依赖<dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-taglibs</arti...原创 2020-02-09 19:44:16 · 308 阅读 · 0 评论 -
服务器端方法级权限控制
在服务器端我们可以通过Spring security提供的注解对方法来进行权限控制。Spring Security在方法的权限控制上支持三种类型的注解JSR-250注解@Secured注解支持表达式的注解,这三种注解默认都是没有启用的,需要单独通过global-method-security元素的对应属性进行启用JSR-250注解使用第一步:在spring-security.xm...原创 2020-02-09 19:19:43 · 443 阅读 · 0 评论 -
安全认证:Spring Security使用
概念Spring Security是 Spring 项目组中用来提供安全认证服务的框架。包括两个操作:认证授权配置使用第一步:在pom.xml中导入依赖 <dependency> <groupId>org.springframework.security</groupId> <artifa...原创 2020-02-07 18:49:13 · 196 阅读 · 0 评论 -
PageHelper:Mybatis分页插件
PageHelper是国内一款开源的mybatis分页插件,支持基本主流与常用的数据库,例如mysql、oracle、mariaDB、DB2、SQLite、Hsqldb等。使用:第一步:在pom.xml中添加依赖<dependency> <groupId>com.github.pagehelper</groupId> <art...原创 2020-02-05 18:56:29 · 150 阅读 · 0 评论 -
解决数据库字段名与实体类对应的属性名不一致
当数据库字段名与实体类对应的属性名不一致时,有两种解决方式:在xml文件中指定resultMap,指定id,下面需要的直接引用id就可以;使用注解开发时,通过注解@Results来指定对应关系resultMap标签resultMap 标签可以建立查询的列名和实体类的属性名称不一致时建立对应关系。从而实现封装。在 select 标签中使用 resultMap 属性指定引用即可。同时 r...原创 2020-02-05 17:34:18 · 8473 阅读 · 0 评论 -
UUID()函数生成一个随机的uuid
做一个java小项目时j,使用表单,点提交按钮保存数据时,由于表单没有设置id填写框,而id属性又非空,所以报错。于是想到UUID()函数可以生成一个随机的uuid。使用如下: @Insert("insert into product(id,productNum,productName) values(REPLACE(UUID(),\"-\",\"\"),#{productNum},#{pro...原创 2020-02-04 18:49:14 · 1216 阅读 · 0 评论 -
SSM框架整合案例
1、数据库与表结构2、创建Maven工程--------------------start编辑pom文件中,发现:问题:Maven无法使用ojdbc依赖的问题(Missing artifact com.oracle:ojdbc14:jar:11.2.0.4.0 )原因: Oracle 的 ojdbc.jar 是收费的,Maven 中央库中实际上没有此资源解决:下载jar包(ojdbc...原创 2020-02-04 17:23:40 · 279 阅读 · 0 评论 -
报错Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile
问题:[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) on project ssm_web: Compilation failure: Compilation failure: [ERROR] /D:/JAVA/IdeaPr...原创 2020-02-04 12:21:13 · 5535 阅读 · 0 评论 -
报错Missing artifact com.oracle:ojdbc14:jar:11.2.0.4.0
编辑pom文件中,发现:问题:Maven无法使用ojdbc依赖的问题(Missing artifact com.oracle:ojdbc14:jar:11.2.0.4.0 )原因: Oracle 的 ojdbc.jar 是收费的,Maven 中央库中实际上没有此资源解决:下载jar包(ojdbc7.jar)(提取码:util),放在D:tools文件夹下打开cmd命令,输入:mvn i...原创 2020-02-04 10:14:19 · 317 阅读 · 0 评论 -
Spring整合Mybatis
Spring整合Mybatis成功,也就是service能成功调用dao执行web层要求的操作。而service已经放在IOC容器中,如果service能在IOC容器中拿到dao的对象,那么就能调用。学习Mybatis时,使用Mybatis框架后,我们要对数据库进行操作时,不再创建持久层接口的是实现类,而是使用代理对象的方式,如下://1.读取配置文件InputStream in = R...原创 2020-02-03 18:24:13 · 179 阅读 · 0 评论 -
Spring整合SpringMVC
用户在网页点击一个连接后,后台会根据请求参数找到对应的Controller,比如说要求执行查询所有产品操作,这时,需要调用service层,然后由service层去调用dao层执行操作,并逐层返回结果。那么调用service层,原始方法就是new一个ProductService的对象,为了降低耦合,所以用Spring的IOC,于是在Controller里面要用到如下代码:@Controlle...原创 2020-02-03 17:23:59 · 136 阅读 · 0 评论 -
Spring MVC配置DispatcherServlet前端控制器对静态资源不拦截的方法
在springmvc.xml中配置<!--告诉前端控制器,哪些静态资源不拦截--> <mvc:resources location="/css/" mapping="/css/**"/> <!-- 样式 --> <mvc:resources location="/images/" mapping="/images/**"/> <...原创 2020-01-09 12:51:38 · 833 阅读 · 0 评论 -
QueryRunner 总结
文章目录QueryRunnerqueryupdate 由于JDBC的使用比较复杂, Apache组织提供了DbUtils,DbUtils是一个对JDBC进行简单封装的开源工具类库,使用它能够简化JDBC应用程序的开发,同时也不会影响程序的性能。DBUtils的三个核心功能:QueryRunner:提供对sql语句操作的APIResultSetHandler接口:用于定义select操作...原创 2019-12-29 16:10:23 · 430 阅读 · 1 评论 -
Java对象为啥要实现Serializable接口?
作者:无敌码农来源:无敌码农|2019-05-14 09:05 收藏 分享导读最近这段时间一直在忙着编写Java业务代码,麻木地搬着Ctrl-C、Ctrl-V的砖,在不知道重复了多少次定义Java实体对象时“implements Serializable”的C/V大法后,脑海中突然冒出一个思维(A):问了自己一句“Java实体对象为什么一定要实现Serializable接口呢?”,关于这个问...转载 2019-12-21 15:52:02 · 105 阅读 · 0 评论 -
Maven
文章目录概念解决的问题两个经典作用Maven的依赖管理项目的一键构建Maven仓库Maven常用命令Maven生命周期概念模型概念Maven 是一个项目管理工具,它包含了一个项目对象模型 (POM:Project Object Model)、一组标准集合、一个项目生命周期(Project Lifecycle)一个依赖管理系统(Dependency Management System)...原创 2019-12-16 15:29:56 · 108 阅读 · 0 评论 -
使用Maven骨架创建Web项目时, New 里面没有 servlet
问题:使用Maven骨架创建Web项目时, New 里面没有 servlet原因:pom.xml中没有导入相关jar包解决方法在dependencies里面加上相关jar就行<!--放置的都是项目运行所依赖的jar包--> <dependencies> <dependency> <groupId>javax.ser...原创 2019-12-15 21:41:45 · 906 阅读 · 0 评论