java
文章平均质量分 55
kingmax54212008
这个作者很懒,什么都没留下…
展开
-
深入理解spring注解之@Bean注解
深入理解spring注解之@Bean注解本文主要从以下几个方面来学习一下spring的注解@Bean: 基于xml方式bean使用回顾 注解@Bean详细使用说明 注解@Bean的源码解析 1,基于xml方式bean使用回顾新建一个maven项目增加spring-context的jar包如下:<dependency&...原创 2020-02-20 20:22:56 · 691 阅读 · 0 评论 -
java.lang.NoClassDefFoundError: javax/validation/valueextraction/ValueExtractorDeclarationException
java.lang.NoClassDefFoundError: javax/validation/valueextraction/ValueExtractorDeclarationException今天部署环境遇到这个问题,查了好长时间终于解决了;问题原因:由于jar包hibernate-validator、validation-api 不兼容。解决方案:(1). 简单粗暴...原创 2020-02-20 14:32:12 · 3220 阅读 · 0 评论 -
IntelliJ IDEA - 常用设置、常用快捷键汇总(附:常用的代码补全语句)
IntelliJ IDEA - 常用设置、常用快捷键汇总(附:常用的代码补全语句)一、常用快捷键作用 windows 快捷键 macOS 快捷键 全局搜索 ctrl + shift + F command + shift + F 代码格式化 ctrl+ alt + L command + option + L 去掉无用的包的引用 ...原创 2020-02-08 14:29:50 · 362 阅读 · 0 评论 -
如何:让Lombok和AspectJ一起工作
如何:Maven,Lombok和AspectJ一起如果您在此页面上,则有自己的用途,您想要配置maven pom.xml以同时启用lombok和Aspectj的用法。解决方案是禁止Aspectj-Maven-plugin重新生成类文件,因为在没有任何配置的情况下,编译和编织过程看起来是这样的:javac使用lombok将您的.java文件编译为.class文件(生成对应的方法get...原创 2020-01-24 23:48:37 · 2354 阅读 · 0 评论 -
Java 理论与实践:正确使用 Volatile 变量
Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的synchronized”;与synchronized块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是synchronized的一部分。本文介绍了几种有效使用 volatile 变量的模式,并强调了几种不适合使用 volatile 变量的情形。锁提供了两种主要特...原创 2020-01-22 09:00:25 · 163 阅读 · 0 评论 -
查看Java的汇编指令
查看Java的汇编指令通过javap 命令,可以将字节码文件反编译。如通过下面的命令:javap -c Xxxx.class而有时候想看某些JDK底层实现,发现反编译得到的代码并没有什么帮助,因此本文介绍如何查看Java的汇编指令,查看Java代码最真实的运行细节。Java本身提供这个支持,但需要引入而外的包(hsdis-amd64.dylib)。Mac下:https...原创 2020-01-22 07:31:50 · 494 阅读 · 0 评论 -
java 枚举 参数传递
java 枚举 参数传递具体问题是这样的,JAVA定义一个枚举(如 RED、BLUE、GREEN)对象,初始值为RED,作为一个方法的参数传入,在方法中对该枚举对象进行修改(修改为BLUE),在调用该方法后,该对象还是为RED,如何使方法对对象的修改有效,谢谢这样做是不行的,原因是:Java中的对象实例化都是在堆中,如果是普通的类实例变量,比如在方法1中定义的普通类实例变量,传到了方...原创 2020-01-21 17:10:22 · 10014 阅读 · 0 评论 -
大数组的排序
大数组的排序之前有一个同事问我,如何对一个非常大的数组进行排序,最开始的思路是:化整为零 合并排序。但实际上具体的一些细节还是有待商榷,因此 这里写一篇文章来具体来总结一下。问题假如一个数组中有1亿个数字,那么要对这个数组从小到大进行排序,我们该如何操作!思路其实对于这种数据量比较大的问题,思路基本上都是一致的:首先,化整为零,对于那么大的一个数据,我们肯定不能直接对其...原创 2020-01-20 12:54:07 · 2620 阅读 · 0 评论 -
java中equals以及==的用法(简单介绍)
简单介绍equals方法是java.lang.Object类的方法有两种用法说明:一、对于字符串变量来说,使用“==”和“equals()”方法比较字符串时,其比较方法不同。1、“==”比较两个变量本身的值,即两个对象在内存中的首地址。(java中,对象的首地址是它在内存中存放的起始地址,它后面的地址是用来存放它所包含的各个属性的地址,所以内存中会用多个内存块来存放对象...原创 2020-01-19 16:48:56 · 237 阅读 · 0 评论 -
[LeetCode] 101. Symmetric Tree 对称树
[LeetCode] 101. Symmetric Tree 对称树Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).For example, this binary tree is symmetric: 1 / \ 2 2 ...原创 2020-01-04 00:33:23 · 113 阅读 · 0 评论 -
【LeetCode】101. Symmetric Tree 解题分析【java版】
【LeetCode】101. Symmetric Tree 解题报告Subject出处:https://leetcode.com/problems/symmetric-tree/Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).For examp...原创 2020-01-03 21:10:33 · 212 阅读 · 0 评论 -
Java一个对象占用内存的大小查看
Java一个对象占用内存的大小查看1.maven 导入<!-- https://mvnrepository.com/artifact/com.carrotsearch/java-sizeof --><dependency><groupId>com.carrotsearch</groupId><artifac...原创 2019-12-26 14:24:40 · 1065 阅读 · 0 评论 -
jmap使用方法及原理
jmap使用方法及原理在这篇文章中:1. jmap常用命令 1. jmap -heap 2. jmap -histo[:live] 3. jmap -clstas 4. jmap -finalizerinfo 5. jmap -dump:<dump-options> 6. jmap -F 2. 与jvm通信方式attach机制 3. jmap操...原创 2019-12-24 11:40:18 · 6753 阅读 · 1 评论 -
“Caused by: java.lang.ClassNotFoundException: javax.persistence.Entity”,查找资料发现是缺少jar包
Caused by: java.lang.ClassNotFoundException: javax.persistence.Entity1、错误描写叙述 usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ] [ -nonaming ] { -help | start | stop }201...原创 2018-09-18 19:18:53 · 2759 阅读 · 0 评论 -
java并发编程之Condition
java并发编程之Condition 引言在java中,对于任意一个java对象,它都拥有一组定义在java.lang.Object上监视器方法,包括wait(),wait(long timeout),notify(),notifyAll(),这些方法配合synchronized关键字一起使用可以实现等待/通知模式。同样,Condition接口也提供了类似Object监视器的方法,...原创 2018-09-21 09:59:07 · 90 阅读 · 0 评论 -
adb server version (31) doesn't match this client
adb server version (31) doesn't match this client 案例1报错信息如下 C:\Users\linux>adb shell adb server version (31) doesn’t match this client (36); killing… * daemon started successfully * error...原创 2018-09-26 14:46:38 · 264 阅读 · 0 评论 -
Java 8 中的 Streams API 详解(Streams 的背景,以及 Java 8 中的使用详解)
为什么需要 StreamStream 作为 Java 8 的一大亮点,它与 java.io 包里的 InputStream 和 OutputStream 是完全不同的概念。它也不同于 StAX 对 XML 解析的 Stream,也不是 Amazon Kinesis 对大数据实时处理的 Stream。Java 8 中的 Stream 是对集合(Collection)对象功能的增强,它专注于对集合...原创 2018-09-26 13:52:11 · 219 阅读 · 0 评论 -
[Android] 相对布局(RelativeLayout)版面配置之介绍-3
◎ 如何对齐至控件的基准线?● 什么是基准线 (Baseline) ?基准线是为了保证印刷字母的整齐而划定的线。主要用于英文上。 ● 基准线 (BaseLine) 程式范例 ◎ 如何与父控件的四个边缘对齐?1. android:layout_alignParentLeft :对齐至父控件的左边,其参数值为 true 或 false 。2. ...原创 2018-09-20 16:55:45 · 324 阅读 · 0 评论 -
[Android] 相对布局(RelativeLayout)版面配置之介绍-2
[Android] 相对布局(RelativeLayout)版面配置之介绍(中) ◎ 如何对齐至控件的基准线?● 什么是基准线 (Baseline) ?基准线是为了保证印刷字母的整齐而划定的线。主要用于英文上。 ● 基准线 (BaseLine) 程式范例 ◎ 如何与父控件的四个边缘对齐?1. android:layout_a...原创 2018-09-20 15:05:48 · 176 阅读 · 0 评论 -
同一套代码,稍做修改(如包名不一样,图标不一样,应用名不一样等)
公司最近有个特别的需求,同一套代码,稍做修改(如包名不一样,图标不一样,应用名不一样等),编译出几个不同的应用。刚好用AS重构完项目,在网上查阅了一些资料,终于搞定!!在这记录一下。 AS主要是利用gradle来实现这个需求的,具体做法如下:修改app的build.gradle文件 假设我们同一套代码编译2个app:app1和app2Android { ... prod...原创 2018-09-25 19:08:18 · 1389 阅读 · 0 评论 -
在同一台android设备上安装多个同一项目的apk
前言通常我们在一台android设备上(无论是真机还是模拟器),安装相同包名的apk应用都只能安装一个应用,如果设备上已经安装了一个apk,如何再次安装这个apk就会覆盖前面的应用,如果想要安装在同一台设备上安装多个相同的apk,唯一的办法只能是改包名了。简单的项目还好,当个一个项目中有许多的类的时候,手动去更改包名一定是一种不可取的方式。那么有没有什么简单的办解决呢?解决办法:在ap...原创 2018-09-25 17:17:34 · 4695 阅读 · 0 评论 -
ViewPager+Fragment+ListView打造新闻列表
更多源码参考: https://download.csdn.net/download/kingmax54212008/10659090用ViewPager、Fragment和ListView做了一个新闻列表,分享给大家。效果图里上方的指示器是用了第三方工具PagerSlidingTabStrip完成的,非常好用!省去了好多我之前写的监听事件。首先,我们建一个Activity,然后在新建...原创 2018-09-11 10:49:39 · 926 阅读 · 1 评论 -
Swagger整合Serverlet API(纯servlet)
参看了一下资料,国内的关于Swagger整合Springboot、SpringMVC的和很多。 但是,怎么整合纯Servlet一直没有度娘到。由于项目需要特整理了一个。 自己查查官方资料并整理如下。 参考代码地址: https://github.com/kkman2008/SwaggerServletSampleSwagger官网: https://swagger.io/步骤1。创建...原创 2018-09-14 10:15:23 · 4503 阅读 · 1 评论 -
JWT的Java使用 (JJWT)
JWT的Java使用 (JJWT) 版权声明:本文为博主原创文章,未经博主允许不得转载。 相信网络上面讲解JWT是什么,由什么组成的文章已经很多了,本文主要讲解JWT在Java中的使用,为了初次看到JWT的同学不会一脸懵逼,还是会说一下什么是JWT. 本文主要从以下几个方面说什么是JWT和JWT的组成为什么要使用JWT在Java中如何使用JWT1.什么是JWTJs...原创 2018-09-18 22:21:53 · 2921 阅读 · 1 评论 -
使用IntelliJ IDEA 配置Maven (to 李琳老师)
核心配置包括两个:1. maven本身的安装与配置 2. idea中的maven配置。备注: maven为jar包在线管理工具,同时也是编译工具。 可以任意集成到你的IDE中。-------------------------以下具体参考配置步骤:1. 下载Maven 官方地址:http://maven.apache.org/download.cgi解压并新建一个本...原创 2018-09-17 11:13:30 · 156 阅读 · 0 评论 -
Mybatis通用Mapper使用方法说明, 里面有开源的源码地址(to 李琳老师)
Mybatis通用Mapper 极其方便的使用Mybatis单表的增删改查项目地址:http://git.oschina.net/free/Mapper 优点? 不客气的说,使用这个通用Mapper甚至能改变你对Mybatis单表基础操作不方便的想法,使用它你能简单的使用单表的增删改查,包含动态的增删改查.程序使用拦截器实现具体的执行Sql,完全使用原生的Mybat...原创 2018-09-18 21:34:28 · 602 阅读 · 0 评论 -
Jenkins集成TestNG Junit自动化测试
自动化测试是Jenkins持续集成和部署的又一核心价值体现,我们先来做一个基于Junit 的 TestNG 测试。我们的实现步骤是:1、在Eclipse上安装TestNG插件;2、编写Junit测试及TestNG.xml配置;3、在Jenkins上安装xUnit插件;4、添加构建任务的测试及报告配置。另外除了Junit测试还有模拟浏览器测试的Selenium测试。在Eclipse上安装Test...原创 2018-09-21 15:34:28 · 1198 阅读 · 0 评论 -
为什么分布式一定要有 Redis?
为什么分布式一定要有redis?1、为什么使用redis分析:博主觉得在项目中使用redis,主要是从两个角度去考虑:性能和并发。当然,redis还具备可以做分布式锁等其他功能,但是如果只是为了分布式锁这些其他功能,完全还有其他中间件(如zookpeer等)代替,并不是非要使用redis。因此,这个问题主要从性能和并发两个角度去答。回答:如下所示,分为两点(一)性能 如下图所示,我...原创 2018-09-26 23:29:08 · 532 阅读 · 0 评论 -
java日志框架log4j详细配置及与slf4j联合使用教程
java日志框架log4j详细配置及与slf4j联合使用教程注: 更让你理解facade门面模式,更让你理解jvm的run anyway一、log4j基本用法 首先,配置log4j的jar,maven工程配置以下依赖,非maven工程从maven仓库下载jar添加到“build path” 1 2 3 4 5 <d...原创 2018-09-21 18:30:50 · 311 阅读 · 0 评论 -
Java IO框架
Java IO框架 可从IO的类层次,IO框架的设计模式来论述。 总体来说,IO可以分为字节流和字符流,不同在于字符流由字节流包装而来,在IO读入之后经过JVM处理,把字节流转换成字符流。而字符流的字符采用哪种字符编码实现由JVM默认编码决定。 而每个流都分输入和输出,所以,总体来说,IO有四个顶层类: InputStream OutputStream Re原创 2015-11-06 00:23:45 · 410 阅读 · 0 评论 -
Java 8 – 从一个 Stream中过滤null值
复习一个Stream 包含 null 数据的例子.Java8Examples.java package com.mkyong.java8; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; ...原创 2019-02-18 16:41:56 · 47162 阅读 · 1 评论 -
IntelliJ Idea git的设置(VS-Visual Studio 设置同理) - merge, rebase,Branch Default
Merge: The result is identical with that of running git fetch ; git merge or git pull.Rebase: The result is identical with that of running git fetch ; git rebase or git pull --rebase.Branch Default...原创 2019-01-03 16:40:45 · 8746 阅读 · 0 评论 -
使用Mapstruct来进行PO与VO之间的映射
更多参考: https://juejin.im/entry/5b228c2651882574b15882bahttps://blog.csdn.net/u014175005/article/details/72792839 使用Mapstruct来进行PO与VO之间的映射 区别与mvc模型的 mvvm模型,将模型对象与视图对象view model分离开,来做到与底层model...原创 2018-12-15 17:00:21 · 848 阅读 · 0 评论 -
Spring - 基于Java的配置
到目前为止,您已经了解了我们如何使用XML配置文件配置Spring bean。如果您对XML配置感到满意,那么实际上不需要了解如何继续使用基于Java的配置,因为您将使用任一可用配置获得相同的结果。基于Java的配置选项使您可以在没有XML的情况下编写大部分Spring配置,但是在本章中介绍的基于Java的注释很少的帮助下。@Configuration&@Bean Annotations...原创 2018-11-08 13:54:55 · 781 阅读 · 0 评论 -
使用java Spring实现读写分离( MySQL实现主从复制)
使用java Spring实现读写分离( MySQL实现主从复制) 我们一般应用对数据库而言都是“读多写少”,也就说对数据库读取数据的压力比较大,有一个思路就是说采用数据库集群的方案,其中一个是主库,负责写入数据,我们称之为:写库;其它都是从库,负责读取数据,我们称之为:读库; 那么,对我们的要求是:1、读库和写库的数据一致;2、写数据必须写到写库;3、读数据必...原创 2018-11-04 16:05:22 · 671 阅读 · 0 评论 -
java: incompatible types: inference variable T has incompatible bounds equality constraints: lower b
java: incompatible types: inference variable T has incompatible bounds equality constraints: lower bounds: java.util.List<>:java:不兼容类型:推理变量T具有不兼容的边界等式约束:下限:java.util.List <> 我试图从流中获取...原创 2019-02-16 19:11:59 · 8541 阅读 · 0 评论 -
BFS和DFS详解以及java实现
BFS和DFS详解以及java实现前言图在算法世界中的重要地位是不言而喻的,曾经看到一篇Google的工程师写的一篇《Get that job at Google!》文章中说到面试官问的问题中几乎有一半的问题都可以用图的方法去解决。由此也可以看出图确实适用范围确实很广。图的表示闲话不多说,首先要介绍的就是图的表示,图最常用的两种表示方法是邻接表和邻接矩阵。顾名思义,这两种办法分别用...原创 2018-11-01 19:16:23 · 1314 阅读 · 0 评论 -
Java IO 编程(BIO、NIO、AIO完整实例代码)
本文会从传统的BIO到NIO再到AIO自浅至深介绍,并附上代码讲解。 源码地址: https://github.com/kkman2008/java-IO.git 下面代码中会使用这样一个例子:客户端发送一段算式的字符串到服务器,服务器计算后返回结果到客户端。 代码的所有说明,都直接作为注释,嵌入到代码中,看代码时就能更容易理解,代码中会用到一个计算结果的工...原创 2018-10-30 11:30:21 · 655 阅读 · 0 评论 -
mycat垂直分库、垂直分片:mycat的多表跨库的一次实战
mycat垂直分库:userinfo库包括,表user、表companyuserorder库包括:表order涉及多表查询: 配置如下:schema.xml配置如下:<?xml version="1.0"?><!DOCTYPE mycat:schema SYSTEM "schema.dtd"><mycat:schema xmlns:mycat...原创 2018-11-01 00:29:08 · 5508 阅读 · 1 评论 -
git的rebase、reset、merge
我认为对于git初学者来说最令人困惑的是主要命令根据参数或上下文有多种用途,其中一些用法没有通过命令的名称来描述。合并(Merge)合并不同的分支(不同的历史,更确切地说) 如果不需要合并,则快进 ; 有效地将分支头重新定位到后代提交 不需要结果的git pull变基(Rebase)重放一组提交,就像它们是基于另一个父级一样 交互式地用于历史清理:重新排序和压缩相关的提交 应...原创 2018-10-31 07:21:09 · 757 阅读 · 0 评论