![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
hashdog
写下疑问,记录成长
展开
-
Java画图drawString居中(字符串在图片居中,或者其他对齐方式)
Java画图写入字符串,对齐方式原创 2022-06-13 20:31:00 · 1974 阅读 · 1 评论 -
【JMap】Java画地图-重庆房价可视化详细步骤
Java实现画地图// todo原创 2022-05-16 20:55:12 · 1551 阅读 · 4 评论 -
org/apache/commons/collections4/ListValuedMap : Unsupported major.minor version 52.0
poi解析表格出现以下错误:Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/commons/collections4/ListValuedMap : Unsupported major.minor version 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.de...原创 2021-10-25 17:50:28 · 443 阅读 · 0 评论 -
fastjson JSON.parseObject() 属性为null
再调用JSON.parseObject()将json字符串解析为对象时,其中的属性始终为null很有可能是你对象的无参构造方法被覆盖了原创 2021-03-18 10:25:46 · 6502 阅读 · 2 评论 -
Java使用Graphics2D画波浪线的艰辛之路
需求是根据飞机的线路情况,需要画直线,双直线,波浪线,虚线,连连接航路其他都好说,这波浪线尤其不好画搜了一圈,基本都是建议使用drawArc方法画圆弧拼接波浪线,但是及其麻烦,效果如下,并不理想在群里问了下大佬的建议,改变思路那么接下来,开始研究下怎么画1.已知条件,是飞机的两个点先画出直线看看代码: public static void main(String[] args) throws IOException { ...原创 2020-12-06 14:31:02 · 919 阅读 · 0 评论 -
Java链表与数组间的相互转换
自定义链表ListNode类public class ListNode { int val; ListNode next; ListNode(int x) { val = x; }}将链表转换成数组//将链表转换成数组public class Test1 { public static void main(String[] args) { Test1 test1 = new Test1(); i.原创 2020-11-09 15:18:43 · 4941 阅读 · 2 评论 -
java7中map转list
map中的value转为listCollection<Object> values = map.values();List<Object> list = new ArrayList<>(values);map中的key转为setSet<String> set = map.keySet();map中的键值对转为setSet<Entry<String, Object>> entry = map.entrySet();.原创 2020-11-07 14:22:15 · 376 阅读 · 0 评论 -
datagrip生成java实体类pojo
右键选择表名保存到桌面原创 2020-11-07 10:17:06 · 2107 阅读 · 0 评论 -
【Java】CountDownLatch使用之多线程场景等待所有线程执行结束
目前有个任务,需要java生成三张图片,生成之后将三张图片进行二次处理由于生成图片比较耗时,开三个线程进行同时生成那么问题来了,如何知道三张图片都生成完了呢两种解决方案一种AtomicInteger二种CountDownLatch都是计数器的概念,具体的暂未了解以下采用CountDownLatch的方式提供例子/** * 多线程等待完成测试 */public class CountDownLatchTest { public static void main..原创 2020-10-29 19:15:55 · 313 阅读 · 0 评论 -
StringUtils类中isEmpty与isBlank的区别
StringUtils类中isEmpty与isBlank的区别 org.apache.commons.lang.StringUtils类提供了String的常用操作,最为常用的判空有如下两种isEmpty(String str)和isBlank(String str)。StringUtils.isEmpty(String str) 判断某字符串是否为空,为空的标准是 str==null 或 str.length()==0System.out.println(StringUtils.isEmpty(原创 2020-10-23 10:23:08 · 218 阅读 · 0 评论 -
【Java】你有所不知的冷门知识——Integer可以使用下划线
Java7就开始支持int可以使用下划线,目的是方便读书,1_000_000就是一百万,当然float,double也是 Integer a =1_0; int b = 23_0_1; System.out.println(a); System.out.println(b);——java核心技术卷一...原创 2020-10-16 13:16:15 · 1105 阅读 · 0 评论 -
Java画图drawString居中(字符串在图片居中)
//得到该字体字符串的长度 public static int getWordWidth(Font font, String content) { FontDesignMetrics metrics = FontDesignMetrics.getMetrics(font); int width = 0; for (int i = 0; i < content.length(); i++) { width += metr...原创 2020-09-13 00:08:34 · 4454 阅读 · 9 评论 -
【JDBC】PreparedStatement操作数据库
建个user表测试DROP TABLE IF EXISTS `user`;CREATE TABLE `user` ( `name` varchar(255) DEFAULT NULL, `password` varchar(255) DEFAULT NULL, `id` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;.原创 2020-08-07 21:24:01 · 151 阅读 · 0 评论 -
【JDBC】连接数据库的几种方式
以mysql连接为例引入驱动<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.38</version> <!--<scope>runtime</scope>--></dependency>.原创 2020-08-07 21:19:06 · 165 阅读 · 0 评论 -
【E文件解析】Java实现E文件解析为对象
参照一位大佬贡献的代码修改的(扩展了对象解析,修改了一些bug,比如流异常未关闭)https://download.csdn.net/download/wzq2009/6949451封装好了,三行代码解析为对象一.模拟的E文件<StandbyDbInfo>@ 设备ID 厂站名 量测名 时间 有功值# 11681223431138934 八嘎桥站 哈南.是咯站/500kV.高铁二线/无功值 2019-11-5 11:25 -1382333.435# 11681223431.原创 2020-07-22 15:06:10 · 6669 阅读 · 235 评论 -
Java过时注解@Deprecated
使用调用时原创 2020-07-06 11:08:40 · 4277 阅读 · 0 评论 -
JAVA中Integer转byte
Integer i= 10;byte b= (byte)i.intValue();原创 2020-07-03 11:21:04 · 3904 阅读 · 0 评论 -
java.lang.StackOverflowError
当子类与父类,循环调用会报次错public class Father { protected void doSomething() { System.out.println("2"); //注意这里的this在调用的实时,实际上是son的实例 this.doSomething(); System.out.println(this.getClass().getSimpleName()); } public..原创 2020-06-20 00:03:13 · 145 阅读 · 0 评论 -
IDEA启动报错:错误: 找不到或无法加载主类 com.xxx.main.CollectMain
IDEA启动main方法报错错误: 找不到或无法加载主类 com.xxx.main.CollectMainclean一下即可原创 2020-06-17 15:27:36 · 599 阅读 · 0 评论 -
JAVA反射中的getFields()方法和getDeclaredFields ()方法的区别
getFields():获得某个类的所有的公共(public)的字段,包括父类中的字段。getDeclaredFields():获得某个类的所有声明的字段,即包括public、private和proteced,但是不包括父类的申明字段。原创 2020-06-16 18:19:08 · 168 阅读 · 0 评论 -
去除一个list中包含的另一个list的数据
List<String> st= Stream.of("a,b,c,d,e,f".split(",")).collect(Collectors.toList());List<String> str=Stream.of("d,e,f".split(",")).collect(Collectors.toList());st.removeAll(str);System.out.println(st);sout:老办法:https://blog.csdn....原创 2020-06-15 22:26:22 · 4100 阅读 · 0 评论 -
【设计模式】单例模式(Singleton Pattern)常见使用之连接池
目录一.介绍二.场景三.单例模式实现1.通过idea快捷创建2.模拟连接池3.执行四.demo 代码五.双重检锁单例模式实现连接池参考一.介绍单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。注...原创 2020-06-10 19:08:28 · 841 阅读 · 0 评论 -
【Java】java 的!file.exists()与 file !=null使用场景/区别
1.exists()方法使用//这里使用new 创建实例,所以f不可能为nullFile f = new File("D:/xyz/hashdog.text")//用exists()方法判断if(!f.exists()){ System.out.print("该文件不存在")}2.!=null条件使用//这里使用new 创建实例,所以f不可能为nullFile f ;//xxx代表业务中的条件表达式if(xxx){ f = new File("D:/xyz/.原创 2020-06-10 18:09:09 · 1657 阅读 · 1 评论 -
【Java 】java判断文件夹、文件是否存在,不存在则创建
//文件不存在则创建 File file=new File("D:/hashdog/a.text"); if(!file.exists()) { try { file.createNewFile(); } catch (IOException e) { e.printStackTrace(); } } .原创 2020-06-10 18:01:13 · 3996 阅读 · 0 评论 -
【Java】java将一个文件移动到另一个目录
//源文件File a=new File("D:\a\a.txt");//目标目录File b=new File("d:\b");//如果目的目录路径不存在,则进行创建if(!b.exists()) { b.mkdirs();}//目标文件File bFile=new File(b+ File.separator+ a.getName());//调用File类的核心方法renameToa.renameTo(bFile)...原创 2020-06-10 17:56:21 · 1235 阅读 · 0 评论 -
Package xyz.hashdog.quanwangfuheII.job clashes with class of same name
包名与类名冲突原创 2020-06-10 16:19:36 · 3179 阅读 · 0 评论 -
Java中boolean默认值与Boolean默认值
boolean默认值是falseBoolean默认值是null原创 2020-06-09 17:09:51 · 23392 阅读 · 0 评论 -
【JVM调优】Jvisualvm 添加Visual GC插件
1、访问地址:https://visualvm.github.io/pluginscenters.html,找到自己JDK版本对应的插件下载地址(我的JDK版本为1.7.0_67):2、点击该链接进入如图界面,找到Visual GC插件,点击下载3、打开Java VisualVM,工具——>插件——>已下载——>添加插件——>安装:4、安装完成后的界面...原创 2020-06-08 18:43:12 · 182 阅读 · 0 评论 -
【Java源码分析】JVM中文指令手册
栈和局部变量操作将常量压入栈的指令aconst_null 将null对象引用压入栈iconst_m1 将int类型常量-1压入栈iconst_0 将int类型常量0压入栈iconst_1 将int类型常量1压入栈iconst_2 将int类型常量2压入栈iconst_3 将int类型常量3压入栈iconst_4 将int类型常量4压入栈iconst_5 将int类型常量5压入栈lconst_0 将long类型常量0压入栈lconst_1 将long类型常量1.原创 2020-06-04 23:46:28 · 219 阅读 · 0 评论 -
【List.toArray()避免强转报错】List泛型使用List.toArray()转数组的正确操作方式
常见错误List<String> list = new ArrayList<>();list.add("你大爷");list.add("你二爷");//会报错 java.lang.ClassCastException: java.lang.Object[] cannot be cast to java.lang.String[]String[] strs= (String[]) list.toArray();//正确方式String[] strs2= list.原创 2020-06-04 15:15:37 · 1668 阅读 · 0 评论 -
linux使用shell脚本对java服务进行启动、重启、关闭
path是我配置的环境变量,app路径可以直接写物理路径#!/bin/bashpath=${APP_HOME}echo $pathapp=$path'/bin/app.jar'args='-Xms1024m -Xmx2048m'cmd=$1pid=`ps -ef|grep java|grep $app|awk '{print $2}'`startup(){ setsid java -jar $args $app }if [ ! $cmd ]; then echo "Pleas原创 2020-05-28 16:11:14 · 1386 阅读 · 0 评论 -
【设计模式】使用策略模式(Strategy Pattern)重构if-else多分支结构
一.介绍意图:定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。主要解决:在有多种算法相似的情况下,使用 if...else 所带来的复杂和难以维护。何时使用:一个系统有许多许多类,而区分它们的只是他们直接的行为。如何解决:将这些算法封装成一个一个的类,任意地替换。关键代码:实现同一个接口。应用实例: 1、诸葛亮的锦囊妙计,每一个锦囊就是一个策略。 2、旅行的出游方式,选择骑自行车、坐汽车,每一种旅行方式都是一个策略。 3、JAVA AWT 中的 LayoutManag原创 2020-05-26 19:26:37 · 951 阅读 · 0 评论 -
String、StringBuffer、StringBuilder区别
https://blog.csdn.net/mad1989/article/details/26389541转载 2020-05-25 11:15:43 · 90 阅读 · 0 评论 -
Unable to allocate 195008KB bitmaps for parallel garbage collection for the requested 6240256KB heap
内存不够了,关闭几个应用原创 2020-05-22 21:37:36 · 4626 阅读 · 0 评论 -
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -1
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -1 at java.lang.String.substring(String.java:1960) at xyz.hashdog.test.Test.main(Test.java:19)字符串下标越界在截取字符串的时候,需要用到变量去做加减运算,一定要保证不为负数 public sta...原创 2020-05-09 16:40:13 · 10483 阅读 · 2 评论 -
Exception in thread "main" java.lang.NumberFormatException: For input string: "66-6"
Exception in thread "main" java.lang.NumberFormatException: For input string: "66-6" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at java.lang.Integer.parseInt(Integer.java:580) at java.lang.Integer.valueOf(Integer.j.原创 2020-05-08 18:09:53 · 4071 阅读 · 0 评论 -
mybatis配置basePackage扫描多个包路径
<!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <...原创 2020-05-08 12:03:13 · 10369 阅读 · 0 评论 -
springboot+maven打包将依赖与配置文件打包在jar包外部的方法
https://blog.csdn.net/corleone_4ever/article/details/105861202原创 2020-05-02 11:02:19 · 1184 阅读 · 0 评论 -
你知道springboot+maven的打包骚操作吗?
一.创建SpringBoot项目1.用idea新建项目2.填写项目信息3.这里勾选spring web 版本选择低版本4.选择 项目名,然后finish5.新建一个TestController,写先经典的hello worldpackage xyz.hashdog.pk;import org.springframework.web.bind.annotation.Reques...原创 2020-05-01 11:27:33 · 1202 阅读 · 0 评论 -
maven聚合工程打包报错 Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile
maven聚合工程打包错误[ERROR] /J:/svn/iocp.dev/iocp/src/iocpweb-root/collection/src/main/java_roomenvironment/com/ieslab/dynamicII/config/DynamicEnvironmentReader.java:[51,22] 找不到符号 符号: 方法 setCompRoom...原创 2020-04-30 10:46:20 · 211 阅读 · 0 评论