![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 59
方元之外
这个作者很懒,什么都没留下…
展开
-
自己常用的java8 用法
## 集合对象里面取出每个对象的某个值` System.out.println(employeeInfoList.stream().map(employeeInfo::getName).collect(Collectors.toList()));`## 取出多个值。便于简洁返回```javaList<Map> resultNew =new ArrayList<>(); result.stream().forEach(s-> { ...原创 2021-04-27 16:33:47 · 120 阅读 · 0 评论 -
修改源码的几种取巧的方式
# 修改源码的几种取巧的方式## 第一种 导入源码的方式直接导入源码,比如直接导入mybatis的源码在项目里面运行## 第二种 复制或者继承此类比如hashmap类。复制或者自己写一个MyHashmap继承hashmap。重写需要的方法```javapublic class MyHashMap extends HashMap { @Override public Object put(Object key, Object value) { ...原创 2021-04-27 16:31:22 · 1805 阅读 · 0 评论 -
简单的代理-cglib代理
1 一个简单的类public class Dog { public void sayHi(String name) { System.out.println("汪汪------"+name); }}2 实现MethodInterceptor接口完成代理public class CglibDemo implements MethodInterceptor { private Object target; public O..原创 2020-09-18 16:16:20 · 121 阅读 · 0 评论 -
简单的代理-jdk代理
1 申明一个接口public interface JdkProxyDemo{ void sayHi(String name);}2 实现这个接口public class JdkProxyDemoImpl implements JdkProxyDemo { @Override public void sayHi(String name) { System.out.println("hello " + name); }}3 实现.原创 2020-09-18 14:53:07 · 94 阅读 · 0 评论 -
简单的反射
public class ReflectService { public void sayHi(String name){ System.out.println("hello"+ name); } public static void main(String[] args) throws Exception{ //反射对象 Class<?> clazz = Class.forName("com.fydemo.de.原创 2020-09-18 14:13:56 · 252 阅读 · 0 评论 -
一次通过jstack 和 pslist定位程序问题
10年征战背景.......................... 短时间进行elasticsearch插入没有问题。 可是连续插入几个小时候,cpu好的飞起。360加速器都要爆炸。先声明原帖 http://blog.csdn.net/ningzuobei/article/details/488289151 没办法,邮件任务管理器,资源管理器。发现了猫腻。java.exe的进程占据了接近百分之80的cpu。还好我能看到她的进程号。我的是5460....原创 2020-06-04 15:00:48 · 228 阅读 · 0 评论 -
查看java 字节码的方式
1 javap -v xxx.class2 classpy工具原创 2019-12-06 21:45:05 · 116 阅读 · 0 评论 -
对java基本对象的构想
https://my.oschina.net/huangyong/blog/158380 推荐阅读一般我们类都会继承BaseBean或者BaseEntity之类的类。那这个类能干什么??假设BaseEntity有这样的方法public abstract class BaseEntity implements Serializable { /** * 将当前对象转...原创 2019-11-15 22:05:35 · 108 阅读 · 0 评论 -
java 注解 + apo 实现日记记录------------添加方法执行时间
1 先写一个注解2注解解释器3 方法添加注解打印结果只要我们想要的方法上增加改注解,该方法就会实现日志记录,而且没有代码入侵-------------------------------------------------------添加方法执行时间...原创 2019-11-13 10:33:03 · 777 阅读 · 0 评论 -
java打成jar包,在windows上运行出现乱码
https://www.cnblogs.com/DreamFather/p/11573346.htmlspringbootjava打成jar包,在windows上运行出现乱码乱码共有两处:一处是控制台打印日志乱码,另一处是返回数据到前台,乱码。解决:控制台日志乱码:打开cmd,输入以下命令chcp 65001这样就可以更改cmd的编码为UTF...转载 2019-11-01 11:50:33 · 2850 阅读 · 0 评论 -
我和shiro有个故事03
springboot+shiro ----------- 验证md5密码方式此篇和我和shiro有个故事02 取不同的来说明此篇使用md5,那么我们需要给传过来的明文密码做md5. 当创建用户的时候密码使用md5 保存。 这两种规则要一样登录验证的时候 使用此构造方法,需要盐。他是通过account 单个字段查出加密的密码和盐。密码...原创 2019-10-14 16:39:50 · 80 阅读 · 0 评论 -
我和shiro有个故事02
springboot+shiro ----------- 明文密码方式表还是那三张表user表(此篇忽略salt盐和加密的密码。这篇使用的明文密码)role 角色表权限表maven 除了基本的spring包还需要shiro包 <dependency> <groupId>org....原创 2019-10-14 16:31:28 · 121 阅读 · 0 评论 -
request.getcontextpath request.getrealpath request.getServletPath() request.getRequestURI()
原来的地址忘了,谁发现提醒一下我,我好加上1 区别假定你的web application 名称为news,你在浏览器中输入请求路径:http://localhost:8080/news/main/list.jsp1.1 System.out.println(request.getContextPath());打印结果:/news转载 2018-01-10 14:30:39 · 189 阅读 · 0 评论 -
讨论 mybatis 驼峰命名法 mapUnderscoreToCamelCase
//TODO原创 2019-05-05 15:31:08 · 283 阅读 · 0 评论 -
java base64 图片
package com.xx.xx.xx;import org.apache.commons.io.FileUtils;import org.apache.commons.io.IOUtils;import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;import java.io.File;import java.io...原创 2019-04-25 14:35:30 · 1131 阅读 · 0 评论 -
spring 和springboot的单元测试
spring 需要在类上加载spring配置如下@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations="classpath*:spring/spring-applicationContext.xml")@Transactional@Rollback(value=false)sprin...原创 2019-06-06 11:02:12 · 105 阅读 · 0 评论 -
win10 下nginx 配置tomcat集群
注意: nginx 的路径不能包含中文,否则会闪退,无法打开一个程序的war包。两个tomcat服务器,端口为8080和8090(修改方式略)一个nginx代理服务器,端口为801:将war包放在两个tomcat的webapp目录下,启动tomcat2:首先修改nginx配置文件conf文件夹下的nginx.conf加入我们的tomcat两个服务器的地...转载 2019-06-16 20:38:31 · 647 阅读 · 0 评论 -
java 代理请求接口 httpclient
通过httpclient 代理ip和端口访问 接口 if(StringUtils.isNotBlank(ip)){ HttpHost proxy =new HttpHost(ip, port); RequestConfig config = RequestConfig.custom().setProxy(proxy).buil...原创 2019-11-08 17:38:08 · 847 阅读 · 0 评论 -
java读取 properties配置文件的两种方式
java resource文件夹下面有一个application.properties的配置文件。文件里面是一行键值对信息 name=jack方法一 ResourceBundle rb = ResourceBundle.getBundle("application"); String name= rb.getString("name"); ...原创 2019-06-24 21:21:39 · 185 阅读 · 0 评论 -
elasticsearch7.2 集群搭建 插件安装 和kibana安装
需要安装好1.8以上的jdk且版本统一不建议使用root用户操作。我们使用新建的hadoop用户来操作(略) 1 基础环境192.168.8.108192.168.8.109192.168.8.110centos jdk1.8将elasticsearch-7.2.0-linux-x86_64.ta...原创 2019-07-09 20:40:24 · 5064 阅读 · 0 评论 -
java 启动多线程
java 平时启动临时的线程 偷懒的做法是new Thread(new Runnable() { @Override public void run() { }}).start();其实通过线程池会更好。如下两种ExecutorService threadPool = Executors.newFixedThreadPool(1...原创 2019-07-11 22:27:26 · 304 阅读 · 0 评论 -
idea常用快捷键
https://blog.csdn.net/weixin_42132763/article/details/95609123#_57https://www.imooc.com/video/16214快速运行Shift + F10 运行当前类Alt + Shift + F10 选择一个类执行run/debug/coverage(测试用例覆盖率)操作Shift + Ctrl + ;运行...原创 2019-08-01 15:49:03 · 7069 阅读 · 0 评论 -
java future callable
有个需求,数据库有两个字段,ip和端口。是很多其他数据库的地址。现在需要下载这些数据库的数据之前的做法是while(true){数据库读出一行为下载的数据下载数据}但是下载数据的时候可能会假死,然后线程阻塞了。除非重启继续下载。现在采用future和callable来配合下载。callable来下载数据。 future来控制流程。publi...原创 2019-08-26 21:20:02 · 427 阅读 · 0 评论 -
jvisualVM监控本地和远程
我的本地是window是。远程是linux。并且window能够ping通linux1 监控本地Java\jdk1.8.0_131\bin 启动jvisualvm.exe 。在监控本地的条件下,如果本地运行这tomcat程序或者idea,打开会看到这样的。双加即可监控2 监控远程tomcat修改catalina.sh 。JAVA_OPTS="...原创 2019-09-04 14:58:33 · 498 阅读 · 0 评论 -
idea utf-8 乱码
刚刚导入了一个项目,跑起来是乱码。网络请求查询过来就是乱码,main方法测试却不是。就想到了tomcat的问题。可是修改了tomcat的server.xml 文件还是乱码。就发现idea大致是复制了tomcat。后来改了idea tomcat配置有遇到控制台乱码,就修改idea配置文件 建议统一修改编码。1 修改tomcat -Dfile.encoding=UTF-...原创 2019-04-16 16:25:55 · 1702 阅读 · 0 评论 -
java自己常用工具
StringutilsString join = StringUtils.join(list, ";"); 将list转乘字符串,;作为分隔符String replace = StringUtils.replace(join, ";", ","); 将字符串replace,把所有;替换成,CollectionDemoList<String> ...原创 2019-03-12 21:55:07 · 159 阅读 · 0 评论 -
论抽象类和接口
大话设计模式-面向对象基础 读后感老生常谈的话题了,但每一次复习都有新的收获。温故而知新 论抽象类 比如猫继承动物类我们实例对象抽象成类。比如猫对象抽象成猫类。如果把一个动物的实体抽象成类,就没有很大的具体意义。 动物实体是什么..所以我们考虑把实例化没有意义的父类,改成抽象类。抽象类注意点:1 抽象类不能实例化(貌似实例化了也没有多大的意义,要是有意义也不会变成抽象类了)2 抽...翻译 2018-03-27 14:57:27 · 143 阅读 · 0 评论 -
java volatile 关键字的作用
部分知识来自 java特种兵synchronized 和 volatile 都有锁的概念。只是synchronized偏重量级的,volatile是轻量级的那么 volatile有什么用?1 保证多线程的共享变量的始终可见性 ps:保证可见性,但不能保证安全性或者完全的原子性 在并发里面内存分为主内存和副本内存。线程从主内存获得数据到副本内存处理,但却不会及时把数据更新会主内存...原创 2018-03-26 15:02:48 · 228 阅读 · 0 评论 -
论面向对象基础
大话设计模式 之面向对象基础读后感 常说的OO是面向对象。面向对象编程,英文叫 Object Oriented Programming何为对象? 对象是一个自包含的实体,用一组可识别的特性和行为来标识何为类? 类就是具有相同的属性和功能的对象的抽象的集合。 (PS:谁拥有数据,谁就提供处理数据的方法。比如人开门,开门的方法是门的) -------------------------------...翻译 2018-03-26 09:51:39 · 152 阅读 · 0 评论 -
JIT编译多次调用的方法
为什么一个方法不适合写太长??? 1 维护和阅读 2 运行一定次数后被JIT编译成器码执行,执行速度会大大加快但是方法不能太长。阀值是8000字节。大于这个数的方法不会被JIT编译。当然可以通过 -XX:+DontCompileHugeMethods -XX:HugeMethodLimit=8000 来设定使大方法也被JIT编译,但是不建议。运...原创 2018-03-09 15:31:43 · 480 阅读 · 0 评论 -
java一次多线程的怪异时间和偶然发现相关解释
大概情况是 程序开一个子线程,然后子线程里面有一个 flag 控制 while 循环在子线程启动之后,等待一下。主线程改变flag 的变量。然后在while循环中 什么都不加,程序异常,不能正确执行结果在while循环中加入一个syso 输出语句。代码正确执行。代码如下public class 灵异代码 { public static void main(String[]...原创 2018-03-01 14:54:33 · 153 阅读 · 0 评论 -
为什么要在csdn开一个博客
因为没有积分用啊 -------------------------------2017年12月27日 20:21:48 我以为发博客获得的积分是可以下载资源的积分,结果不是。。。。。。。。 原新浪博客地址 原新浪博客地址 ---------------------------------------2018年2月26日15:03:29 ...原创 2017-11-16 13:44:51 · 337 阅读 · 0 评论 -
elasticsearch 5.5.3 安装ik分词器,并且使用分词器
首先先说两点,两个不要。 1:貌似es上5版本,至少5.5.3是这样,就不能在elasticsearch.yml配置以index开头的配置信息了。如index.number_of_shards: 5。所以就不要写 index.analysis.analyzer.default.type: ik 这样的配置了。 2 :分词换成了 ik_sma原创 2018-01-22 15:14:02 · 4176 阅读 · 1 评论 -
Class字节码的加载
来自《java特种兵》书籍提到class的加载,不得不提到ClassLoader因为java加载类就是靠它加载的,它负责读取字节码的字节流进行加载。ClassLoader的继承关系是从BootstrapClassLoader开始的,也是由它最先加载类,然后是ExtClassLoader,接下来是AppClassLoader(应用程序默认的),最后是用户自己的ClassLoa转载 2018-01-04 16:35:23 · 183 阅读 · 0 评论 -
pdf 提取图片
pdf 提取图片 ,提取的图片不是背景子图片。相当于把每一页pdf转换成图片一共两种方法,第一种提取速度较快 一秒几张。但是会丢失画质第二种提取速度慢,两秒一张,但是不会丢失画质------------------------------------------------------------------------先说第一种线上jar包原创 2017-12-07 17:26:17 · 1062 阅读 · 0 评论 -
elasticsearch 2.3.3版本 数据迁移工具
最近做了一个elasticsearch数据迁移的工具。 好比从from迁移到to1 读取from的mapping,创建to的mapping 这个索引配置很重要2 通过scroll 读取from3 通过buld批量存到to4 边读边存package com.esdatamove;import java.net.InetAddress;import原创 2017-11-23 14:50:22 · 872 阅读 · 0 评论 -
一次简单的自定义注解体
很早就听说过自定义注解,自定义JSTL之类 为何不动手体验一次简单的自定义注解呢? 一次简单的自定义注解entity实体验证 ,一个字段的非空验证先写一个验证非空的注解 (注解长的和接口很像)package java自定义注解ForSingleField;import java.lang.annotation.Doc原创 2017-11-16 14:15:59 · 261 阅读 · 0 评论 -
初涉初级泛型
泛型类泛型类就是把泛型定义在类上,用户使用该类的时候,才把类型明确下来.public class 泛型类<T> { private T obj; public T getObj() { return obj; } public void setObj(T obj) { this.obj = obj; } public void say(){ System.o...原创 2018-04-03 15:44:17 · 114 阅读 · 0 评论 -
httpclient 发送请求,带中文信息
有些功能 通过浏览器或者postman来代用没问题。可是有时候通过java代码来调用,就容易出现中文乱码通过httpclient的get方法发送中文String location = "嘻哈"; CloseableHttpClient httpClient = HttpClients.createDefault();// 创建http实例 CloseableHttpResponse res...原创 2018-07-11 14:44:49 · 1106 阅读 · 0 评论 -
springboot采坑之jpa-sql语句
感觉是个bug啊//分页所有保存成功的库 @Query(value = "SELECT * from mongodbdata where save = 'true' limit ?1 ,?2;", nativeQuery = true) List<MongoDbdata> selectAllSaveMongoByPage(int start,int limit)...转载 2019-03-12 10:47:24 · 1844 阅读 · 0 评论