
JAVA
trusause
京东旗下全资控股子公司
展开
-
java中的优雅写法
java中的优雅写法原创 2023-02-13 19:48:32 · 460 阅读 · 0 评论 -
使用 Java8的 stream对list数据去重,使用filter()过滤列表,list转map
去除List中重复的StringList unique = list.stream().distinct().collect(Collectors.toList()); 去除List中重复的对象// Person 对象public class Person { private String id; private String name; private String sex; <!--省略 get set--> // 根据.原创 2021-09-16 13:23:49 · 2623 阅读 · 4 评论 -
mac配置$PATH环境变量终端关闭后失效
问题背景mac本地安装maven开发使用,安装好后,配置好环境变量,执行mvn -v能够看到maven的版本等信息,当关闭命令窗口,或者重启电脑后,在执行mvn -v会出现错误zsh: command not found:mvn,可是从新source一下.bash_profile后恢复正常。vim解决办法zsh加载的是 ~/.zshrc 文件,该文件通常都在 ~ 目录下,即/Users/你的用户/.zshrc,在~目录下打开终端查看文件内容,若是不存在本身建立一个bash#查看文...原创 2021-09-10 10:44:29 · 1375 阅读 · 0 评论 -
使用AOP记录日志
前面我们已经介绍了AOP适用的一些业务场景以及简单的代码实现,当时我们的切点是用execution表达式来配置的,这种方式有一些局限性在里面:灵活性不高,一个表达式只能切到某种同类型的方法 个性化不足,很难对切面切到的所有方法中的一些做一些个性化的设置这让我想起有以前我还是一个菜鸟时接到的一个需求,要在所有接口中记录请求日志,因为项目比较老了,所以接口还是挺多的,我预估需要三天才能完成,我们老大鄙视了我一眼,然后花半小时就完成了。今天我们就来讲讲切点的另一种配置方式:@annotation,通过@原创 2021-02-19 14:21:23 · 3233 阅读 · 0 评论 -
基本类型和引用类型的传值:基本类型不会变(复制传值)、引用类型会变(引用传值)
public static void main(String[] args) throws Exception { //对基本类型的调用 int num = 5; System.out.println("基本类型值传入方法前是:" + num); primitiveDeliver(num); System.out.println("基本类型值传入方法后是:" + num); System.out.printl.原创 2021-02-03 13:51:34 · 223 阅读 · 2 评论 -
java8 stream().forEach、stream().map、stream().filter、stream().sorted的区别和用法
List<Teacher> list = new ArrayList<>(); list.add(Teacher.builder().age(28).name("李四").build()); list.add(Teacher.builder().age(27).name("张三").build()); list.add(Te...原创 2020-01-15 11:41:35 · 4368 阅读 · 0 评论 -
根据CPU核数合理设置线程池大小
一般来说池中总线程数是核心池线程数量两倍,只要确保当核心池有线程停止时,核心池外能有线程进入核心池即可。我们所需要关心的主要是核心池线程的数量该如何设置。自定义线程池代码public class MyThreadPoolExecutor { //最大可用的CPU核数 public static final int PROCESSORS = Runtime.get...原创 2019-10-31 17:51:43 · 2805 阅读 · 0 评论 -
Cron表达式详解(job表达式)
Cron表达式的详细用法字段 允许值 允许的特殊字符 秒 0-59 , - * / 分 0-59 , - * / 小时 0-23 , - * / 日期 1-31 , - * ? / L W C 月份 1-12 或者 JAN-DEC , - * / 星期 1-7 或者 SUN-SAT , - * ? / L C # 年(可选) 留空, 1970-2099 , - * /例子:0...转载 2018-09-18 10:02:55 · 13510 阅读 · 0 评论 -
JPA和Hibernate到底是什么关系???
(文章借用了其他几篇博客中的内容,因为是初学者,许多概念性的关系自己不能完全理解,就将大神的搬了过来,如有不当,可留言,本人自会妥善处理,谢谢)在学习框架的过程中,发现学的东西很多,但是感觉他们之间的联系区别都不是很了解,知道JPA可以去实现持久化数据到数据库当中,Hibernate也有这样的功能,总以为他们之间是一种平级的关系,拥有同样的作用,是一种可以相互替代的关系,就像你吃饭时,选择吃米...转载 2018-09-19 10:22:40 · 8375 阅读 · 3 评论 -
JPA - 一级和二级缓存使用详解
【1】一级缓存JPA默认情况下和MyBatis一样开启一级缓存。JPA是针对与entityManager,Mybatis是针对于namespace。示例代码如下:@Testpublic void testSecondLevelCache(){ Customer customer1 = entityManager.find(Customer.class, 1); Cu...转载 2018-09-19 15:32:23 · 5490 阅读 · 0 评论 -
获取token(/oauth/token)
1、入口方法(spring-security-oauth2-2.0.14.RELEASE-sources.jar)@FrameworkEndpointpublic class TokenEndpoint extends AbstractEndpoint { @RequestMapping(value = "/oauth/token", method=RequestMethod.P...原创 2018-10-08 17:26:23 · 26678 阅读 · 1 评论 -
(原创)Java使用RedisTemplate操作Redis的那些坑
坑一、 方法: 直接使用注入的方式 @AutoWiredprivate RedisTemplate redisTemplate; 异常现象: key会出现乱码127.0.0.1:6379> keys *1) "\xac\xed\x00\x05t\x00\x04name" 原因:spring-data-re...原创 2018-10-26 17:14:14 · 25785 阅读 · 1 评论 -
Spring Cloud中关于Feign的常见问题总结
这篇文章主要给大家介绍了Spring Cloud中关于Feign的常见问题,文中通过示例代码介绍的很详细,需要的朋友可以参考借鉴,下面来一起看看吧。一、FeignClient接口,不能使用@GettingMapping 之类的组合注解代码示例: 1 2 3 4 5 6 @FeignClient("microservic...原创 2018-11-06 14:14:47 · 2188 阅读 · 0 评论 -
SpringBoot2.0实现自定义404页面渲染
注意:1、404.html一定要建在template/static下面,否则无效。2、new ErrorPage可以重定向具体的html也可以重定向请求地址,如/404,那就需要添加/404的Controller1、第一种写法:实现ErrorPageRegistrar@Configurationpublic class ErrorConfigurar implements Er...原创 2018-11-20 14:05:48 · 14438 阅读 · 4 评论 -
Spring Boot json (Date类型入参、格式化,以及如何处理null)
首先,我们要知道 springboot 默认使用 jackson 解析 json(当然这里也是可以配置使用其他 json 解析框架)。在不配置其他 json 解析的情况下,我们可以通过 spring boot 提供的注解和配置 来让 jackson 帮助我们提高开发效率一、 使用 @ResponseBody @RequestBody, Date 类型对象入参,返回json格式化解决方...转载 2019-02-14 15:01:36 · 2852 阅读 · 0 评论 -
Java中导入、导出Excel
当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统、银行系统)。或者是:我们已经习惯用Excel打印。这样在我们实际的开发中,很多时候需要实现导入、导出Excel的应用。 目前,比较常用的实现Java导入、导出Excel的技术有两种Jakarta POI和Java Excel 下面我就分别讲解一下如何使用这两个技术实现导...转载 2018-07-03 16:43:27 · 150 阅读 · 0 评论 -
解决JPA懒加载的办法
方案1: 1.1、在多的一方的类上加上@ToString()注解,重写toString方法 1.2、在代码中获取一的时候主动调用多的toString()方法:uopUser.getUserChannelRelationList().toString();方案2: 2.1、在代码中主动get多的一方的唯一主键:uopUser.getUserChannelRelationList()...原创 2018-06-19 16:24:00 · 7909 阅读 · 0 评论 -
Spring HttpMessageConverter 之 Jackson
我们在使用Spring MVC 是都有这样的经历,@ResponseBody返回一个JSON格式字符串到前端,或者使用@RequestBody获取前端REST提交的对象,那么Spring MVC 中是如何处理的呢?大体的流程如下: 在Spring Web中使用 jackson处理,具体实现类是MappingJackson2HttpMessag转载 2017-04-19 22:50:12 · 525 阅读 · 0 评论 -
setattribute和setattributenode的区别
The setAttributeNode method sets or updates the supplied attribute node on this element.setAttributeNode 方法设置或更新当前元素属性为指定的属性节点(也就是setAttributeNode的参数)VS2010上setAttributeNode 方法的注释为:添加指定的SYSTEM.XML.ATT原创 2017-10-10 22:39:29 · 3184 阅读 · 1 评论 -
方法传入参数(来自成员变量),在方法中修改参数,退出方法后,是否会改变参数值呢?
现在列出三种不同的方法传入参数;1、传入参数为整形变量:public static void main(String[] args){ int a = 10; System.out.println(a); test(a); System.out.println(a);}p原创 2017-11-14 16:56:10 · 2417 阅读 · 0 评论 -
@JoinTable和@JoinColumn
在address中没有特殊的注解。在Person中对应到数据库里面就有一个指向Address的外键.我们也可以增加注释指定外键的列的名字,如下:@OneToOne(cascade=CascadeType.ALL,optional=true) @JoinColumn(name="addressID")//注释本表中指向另一个表的外键。 public Address转载 2017-11-15 14:50:13 · 978 阅读 · 0 评论 -
Spring Hibernate JPA 联表查询 复杂查询
今天刷网,才发现:1)如果想用hibernate注解,是不是一定会用到jpa的?是。如果hibernate认为jpa的注解够用,就直接用。否则会弄一个自己的出来作为补充。2)jpa和hibernate都提供了Entity,我们应该用哪个,还是说可以两个一起用?Hibernate的Entity是继承了jpa的,所以如果觉得jpa的不够用,直接使用hibernate的即转载 2017-11-15 16:39:48 · 4682 阅读 · 0 评论 -
JPA查询之Specification以及HQL、SQL查询
1、Specification//查询条件ListList predicateList = new ArrayList();Specification specification = new Specification() { @Override public Predicate toPredicate(Root root, CriteriaQuery criteriaQ原创 2017-11-30 10:22:08 · 4588 阅读 · 0 评论 -
分布式任务调度平台XXL-JOB
分布式任务调度平台XXL-JOB》 一、简介1.1 概述XXL-JOB是一个轻量级分布式任务调度框架,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。1.2 特性1、简单:支持通过Web页面对任务进行CRUD操作,操作简单,一分钟上手;2、动态:支持动态修改任务状态、暂停/恢复任务,以及终止转载 2017-12-04 18:07:49 · 1340 阅读 · 0 评论 -
Restful风格API中用put还是post做新增操作有什么区别?
这个是华为面试官问我的问题,回来我找了很多资料,想验证这个问题。在回答问题之前,还需要搜集一些基础知识。1 HTTP协议详解HTTP是HyperText Transfer Protocol(超文本传输协议)的缩写。它的发展是万维网协会(WorldWide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force转载 2018-01-26 14:39:24 · 14420 阅读 · 0 评论 -
漫画:什么是ConcurrentHashMap?
————————————————————————前两期我们讲解了HashMap的基本原理,以及高并发场景下存在的问题。没看过的小伙伴可以点击下面链接:如果实在懒得看也没有关系,我们来简单回顾一下HashMap的结构:简单来说,HashMap是一个Entry对象的数组。数组中的每一个Entry元素,又是一个链表的头节点。Hashmap不是线程安全的。在高并发环境下做插入操作,有可能出现下面的环形链表...转载 2018-02-26 17:58:24 · 232 阅读 · 0 评论 -
ElasticSearchRepository和ElasticSearchTemplate的使用
Spring-data-elasticsearch是Spring提供的操作ElasticSearch的数据层,封装了大量的基础操作,通过它可以很方便的操作ElasticSearch的数据。版本说明ElasticSearch目前最新的已到5.5.1spring data elasticsearchelasticsearch3.0.0.RC15.5.03.0.0.M45.4.02.0.4.RELEAS...转载 2018-03-16 16:47:21 · 11329 阅读 · 0 评论 -
基于SpringCloud、SpringBoot构建的微服务框架
基于SpringCloud、SpringBoot构建的微服务框架重要说明: 1、config中的模块的配置文件的名字需要同模块中设置的spring.application.name相同! 2、config中的个模块的配置文件的优先级大于模块自己的配置文件,以reristry模块举例:config中的resource\shared\registry.yml中的配置优先级大于registry模...原创 2018-03-29 18:25:26 · 1903 阅读 · 0 评论 -
ArrayBlockingQueue详解
1.介绍ArrayBlockingQueue是一个阻塞式的队列,继承自AbstractBlockingQueue,间接的实现了Queue接口和Collection接口。底层以数组的形式保存数据(实际上可看作一个循环数组)。常用的操作包括 add ,offer,put,remove,poll,take,peek。前三者add offer put 是插入的操作。后面四个方法是取出的操作。他们之间的区别...转载 2018-03-14 14:28:40 · 1184 阅读 · 0 评论 -
getOne(ID var1)和findOne()的区别
1、T getOne(ID var1):org.springframework.data.jpa.repository.JpaRepository 根据id查询出来的对象不为null,但是对象里面的所有属性全部为null!2、T findOne(ID var1):org.springframework.data.repository 根据id查询出来的对象不为null,且对象里面的所有...原创 2018-05-28 16:06:23 · 1899 阅读 · 0 评论 -
直接使用JPA数据库模型对象作为接收(返回)对象,实现基本的增、删、改、查的功能
1、背景:目前的我们项目大量的请求模型DTO和返回模型DTO。场景1:当需要修改一条记录的时候,前端传入后端的参数需要使用请求DTO接收,然后根据id找到对应的持久化层对象,当请求模型DTO的属性和持久化层模型属性不一致的时候,属性之间赋值需要使用对象属性set的方式进行赋值,或者是其他的框架(如MapStruts等),总之非常不方便。场景2:在进行查询的时候,需要将查询到的持久化层对象通过...原创 2018-06-11 18:08:12 · 2856 阅读 · 0 评论 -
Spring Data JPA 简单查询--方法定义规则(详解)
一、常用规则速查1 And 并且2 Or 或3 Is,Equals 等于4 Between 两者之间5 LessThan 小于6 LessThanEqual 小于等于7 GreaterThan 大于8 GreaterThanEqual 大于等于9 After 之后(时间) >10 Bef...原创 2018-05-30 16:18:57 · 1908 阅读 · 0 评论 -
axis2 WebService的发布与调用
1:准备: JDK:http://www.oracle.com/technetwork/java/javase/downloads/jdk6downloads-1902814.html eclipse:http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/juno转载 2016-12-19 17:50:25 · 269 阅读 · 0 评论