
Java
文章平均质量分 73
Java开发中用到的各种知识点,Java项目经验等等
master-dragon
weixin:dwl_1270530306
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
项目总结:java agent的使用
测试团队会做java agent的事,实现测试模拟,各种数据采集等等工作,而这些不需要开发改代码来做到,只需要挂载下agent。不改变代码,而是在java命令后加入实现对class的干预https://docs.oracle.com/javase/8/docs/api/java/lang/instrument/package-summary.htmlProvides services that allow Java programming language agents to instrument pro原创 2025-02-13 23:45:25 · 995 阅读 · 0 评论 -
了解Java21
目前还没有实操过从java8/java11直接到java17,java21。先储备下知识点,写一些简单例子,以便后续的实操。原创 2025-07-16 22:28:26 · 188 阅读 · 0 评论 -
设计模式-迭代器模式
定义:迭代器模式提供了一种方法顺序访问一个聚合对象中的各个元素,而又无需暴露该对象的内部实现,这样既可以做到不暴露集合的内部结构,又可让外部代码透明地访问集合内部的数据。,可以内部各种方式实现,但是对外就是如下两个方法。如:集合中常见的迭代器。原创 2025-05-28 22:10:10 · 627 阅读 · 0 评论 -
设计模式-工厂模式
Factory Method is a creational design pattern that provides an interface for creating objects in a superclass, but allows subclasses to alter the type of objects that will be created.(Factory方法是一种创造性的设计模式,它提供了在超类中创建对象的接口,但允许子类更改将要创建的对象的类型。原创 2025-05-28 21:54:22 · 359 阅读 · 0 评论 -
设计模式-原型模式
用带原型管理器的原型模式来生成包含"圆"和"正方形"等图形的原型,并计算其面积。用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原创 2025-05-28 21:52:12 · 330 阅读 · 0 评论 -
java lambda之方法句柄&invokedynamic指令
理解java方法句柄和invokedynmic指令原创 2022-10-29 15:51:22 · 857 阅读 · 0 评论 -
Java Function & Supplier 的实际例子对比感受抽象和懒加载
Supplier以人使用交通工具出行为例,如下:很自然的代码,没有任何问题interfaceVehicle{voiddrive();}classCarimplementsVehicle{publicCar(){System.out.println("newCar()");}@Overridepublicvoiddrive(){System.out.println("car...原创 2021-11-28 16:43:23 · 1155 阅读 · 0 评论 -
Java复习重写equals方法必须重写hashcode方法
A对象在业务上看来是一个对象,相等的;但是equals方法和hashcode方法都没有重写,实际是不等的,hashcode也不同;即每次业务都是合理的,某个对象只有一个存储到map中,以最后的更新值为准,不会出现什么意外。只重写了equals方法,两个对象相等,但是hashcode不同,在HashMap中是两个key存储, 取出来不同;综合上述的例子,也就说明了为什么重写equals方法必须重写hashcode方法。那么只重写equals方法,两个相等对象会出现一样的hashcode产生误解吗;原创 2023-08-19 16:10:30 · 223 阅读 · 0 评论 -
Java语言本身的一些基础知识
一些java基础知识原创 2022-05-02 10:32:09 · 2308 阅读 · 0 评论 -
关于数的基础知识(存储&位运算)
为什么计算机采用补码存储数据http://www.360doc.com/content/12/1009/21/10086564_240513741.shtml字符常量一种是普通字符,即用单撇号括起来的一个字符,如’b’ ,’y’,‘?’。字符常量在储存在计算机的储存单元中时,是以其代码(一般采用ASCII代码)储存的。另一种是转义字符,即特殊字符常量。转移字符是C语言中表示字符的一种特殊形式,其原创 2017-02-12 14:41:57 · 1106 阅读 · 0 评论 -
maven plugin 简单介绍和实战 (2021-05-29)
maven plugin 开发: https://maven.apache.org/plugin-developers/index.html什么是plugin?“Maven” is really just a core framework for a collection of Maven Plugins. In other words, plugins are where much of the real action is performed, plugins are used to: create原创 2021-05-29 14:54:55 · 1441 阅读 · 0 评论 -
Mockito 动态代理 & ByteBuddy
现在说动态代理:总是想到SpringAOP的JDK动态代理(基于反射)&Cglib代理(当然这两种都是新增一个新的class)完成动态代理;其实各种mock也有不少使用的动态代理技术的,比如Mockitomock例子publicinterfaceHelloService{Stringsay(Stringwhat);}importcom.example.service.HelloService;importorg.junit.Assert;import原创 2021-03-14 16:40:48 · 1779 阅读 · 0 评论 -
Java工具arthas的使用--结合实际工作
目录安装使用sc命令 查看JVM已加载的类信息thread命令dashboard命令在这里插入图片描述安装使用help命令帮助cls命令清屏命令列表:https://arthas.aliyun.com/doc/commands.htmlsc命令 查看JVM已加载的类信息thread命令查看所有线程dashboard命令todo:需总结工作中实际用到的场景...原创 2021-02-28 13:55:10 · 915 阅读 · 0 评论 -
【演练】Java应用频繁Full GC, OOM
目录前言演练代码故障现象jmap查看问题原因定位问题解决本文总结前言本文主要是演练java应用频繁full gc,oom,如何排查解决的过程演练代码线程池用自定义线程工厂jvm参数:-Xms20M -Xmx20M -XX:+PrintGC -Xloggc:gc.logimport java.math.BigDecimal;import java.util.ArrayList;import java.util.Date;import java.util.List;import java.u原创 2020-07-15 23:31:59 · 1243 阅读 · 0 评论 -
【线上】StringBuilder / StringBuffer 线程不安全代码问题
线上有同事写的,特此记录下,也提醒自己不能这么垃圾。直接给出线上写的垃圾代码, 类似如下public class Main { static StringBuilder sb = new StringBuilder(); static void test() { try { // consume from upstream TimeUnit.MILLISECONDS.sleep(100); } catc原创 2020-07-10 20:50:30 · 582 阅读 · 0 评论 -
HttpClient的使用和各种报错
项目中用到了HttpClient, 开发运维过程中也遇到了各种报错,遂整理,以加深认识和方便复习巩固java.net.ConnectException: Connection refused (Connection refused)服务端没有启动,客户端尝试去连接请求, 客户端调用代码报错就会出现Connection refusedjava.net.SocketTimeoutExceptio...原创 2020-04-05 00:01:26 · 3981 阅读 · 0 评论 -
java NPE 犯错收集
1. Boolean 为null如下if(null){}则java.lang.NullPointerExceptionif(info != null && info.getFlag()){ // do sth.}正确写法if(info != null && info.getFlag() != null && info.getFla...原创 2020-04-02 22:52:34 · 411 阅读 · 0 评论 -
eclipse maven 简单web项目
本文地址:http://blog.youkuaiyun.com/qq_26437925/article/details/52151668 参考学习:http://jinnianshilongnian.iteye.com/blog/2188113 源码地址:http://download.youkuaiyun.com/detail/qq_26437925/9598013把开涛大牛的文http://jinnianshilo原创 2016-08-08 14:38:43 · 380 阅读 · 0 评论 -
数据库CURD工作总结: MySQL数据库,结合MyBatis的使用
最近工作的小结索引 和 主键insert into , insert ignore into, replace into mybatis 注意 selective (xxxExampleSelective 和 xxxExamaple的区别)批量增删改查数据库操作需要优化,(可以用内存操作来代替频繁的操作数据库)例如: user, userGroup , user_use...原创 2018-03-24 19:33:17 · 350 阅读 · 0 评论 -
java native实践
native 方法作为java扩展,java对底层实现有限,可以通过调用c/c++来实现一些扩展。 native方法 显然与底层相关,与平台相关。java中native方法只有声明,没有具体的定义。.java, 加载一个动态库,然后调用其中的add方法public class NativeDemo{ public native int add(int a, int b); st原创 2018-04-19 14:31:08 · 319 阅读 · 0 评论 -
Java 时间相关的工具类整理
人性化的时间package timeutil;/** * @Author mubi * @Date 2018/7/29 上午11:36 */public enum HumanizedTimeEnum { LastYear("去年", "y", -1), LastMonth("上个月", "M", -1), LastHour("一小时前", "h"原创 2018-07-29 13:15:34 · 307 阅读 · 1 评论 -
【线上】加上重试机制(使用guava-retrying)
很多场景都有重试的必要,不能因为一些边界,某些抖动,不稳定因素导致一些误会和不必要的反复;如果重试能够解决问题,那么自然要使用重试原创 2019-03-26 23:25:59 · 469 阅读 · 0 评论 -
CompletableFuture future.get 遇到 java.util.concurrent.TimeoutException
2019-08-07 工作中遇到的问题大概是: 有个线程池满了,然后新的任务使用CompletableFuture.supplyAsync执行,用future1.get(1, TimeUnit.SECONDS)) 去获取的时候报错java.util.concurrent.TimeoutException报错java.util.concurrent.TimeoutException觉得很奇怪;随...原创 2019-08-07 22:33:45 · 4795 阅读 · 0 评论 -
mvn常用命令和使用
编译mvn compile编译测试mvn test-compile运行测试mvn test清除mvn clean会清除生产的target目录打包(包括测试,是把jar打到本项目的target)mvn package打包,并把target下的jar安装到本地仓库mvn install忽略测试mvn install -DskipTests 或 m...原创 2019-08-06 23:53:41 · 683 阅读 · 0 评论 -
一个java面试官的感慨来源于网络
文章来源:http://www.yq1012.com/things/854.html一个java面试官的感慨来源于网络2014-07-15 分类:java杂谈 阅读(42) 评论(0) 一直都没有想到,可以有机会可以面试他人,很感谢现在的公司,给我不少的机会可以尝试从不同方面尝试一些工作,在入职现公司之前也作为面试者参加过不少面试,不过还好,面试通过率都还好,转载 2016-01-04 11:31:21 · 4072 阅读 · 2 评论