
java
文章平均质量分 56
yann_zhong
只要活下去,就会有希望。
展开
-
使用java代码画一棵圣诞树
圣诞节前夕 收到女朋友一个要求 想让我画一棵圣诞树身为java端工程师 我只能 黑人问号 我除了会出json接口 一无所有。不过后来仔细想一下,也不是没有方案且基本的技术以前都玩过 不过是过时的技术,无聊就又重新掏了出来。话说使用python什么的实现巨简单,权当娱乐。这个需求最主要的难点在于两点,如何实现跨平台。以及如何实现GUI。关于跨平台这里是我自定义的,java本身是一门跨平台的语言,但是这基于java虚拟机的基础上,没有安装jre环境的机器是无法运行java程序的,原创 2021-12-21 22:43:30 · 5087 阅读 · 0 评论 -
利用Map将一个数组 组装 树
这是一个简单的利用HashMap将一个数组组装成一棵树的代码 可能有多个根节点核心发放为createTree 输入参数分别为 对象数组,id get方法,pid get方法 使其能兼容数据类型。不需要指定特定的成员信息节点对象除了保存对象信息,只保留了上级节点信息和子节点列表信息。如果有什么不适用的状况欢迎提出import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util..原创 2021-01-05 14:32:41 · 539 阅读 · 0 评论 -
枚举映射的快速转换
public enum AdcodeEnum { /**省级用户*/ ZHE_JIANG("浙江省", "330000"), /**杭州市*/ HANG_ZHOU("杭州市", "330100"), /**宁波市*/ NING_BO("宁波市", "330200"), /**温州市*/ WEN_ZHOU("温州市", "330300"...原创 2020-05-23 14:12:19 · 567 阅读 · 0 评论 -
排序比较器 Comparator 考虑为null的情况
public class Comptor { public static void main(String[] args) { List<Bean> objects = new ArrayList<>(); Random random = new Random(1); for (int i = 0; i < 10; i++) { objects.add(new Bean(random.nextInt原创 2020-05-23 14:06:13 · 13509 阅读 · 0 评论 -
重写hashcode和equals方法
业务需要使用自定义的equals方法 已经shaixuan出4个字段真的是不写不知道麻烦。equals 实现方式非常简单,只要对上述四个字段进行对比是否相同即可 只有String和Integer成员使用euqals的时候需要先判断是否为空,否则有空指针异常例如 每一个字段需要下面的判断流程 非常繁琐 ,可以直接使用Objects.euqals(o.getAppCode(),appc...原创 2019-12-17 17:15:32 · 472 阅读 · 0 评论 -
内部类使用静态方法或静态对象需要 static
static的属性和方法在类加载过程中就会存入到内存 方法区内部类不会随着类加载而加载非静态内部类会在内部类对象实例化(新建对象)的过程中加载静态内部类会在内部类调用(实例化,静态方法,静态成员)综上 非静态内部类调用方法的时候可能未加载导致报错。question:为什么不能像普通类一样调用时加载可能非静态内部类没有类加载机制 和父类一起加载???参考问题http...原创 2019-12-03 16:39:40 · 411 阅读 · 0 评论 -
通过sql保证数据库唯一
项目需求对于某字段要求数据库未删除唯一,存在删除标记 所以不考虑使用a. 在java代码中获取数据库字段list,然后判断是否存在该记录,会产生并发问题,需要在get与set之间使用锁阻塞,可以考虑分段锁,根据字段value的hashcode提高并发读,然而在分布式环境下 还需要考虑不同主机 引入分布式锁。b. 使用sql,在insert和update中增加条件where id = ...原创 2019-10-16 18:04:42 · 822 阅读 · 0 评论 -
byte,char,int类型转换
byte,char,int类型转换问题来源于BufferedInputStream的 public synchronized int read() throws IOException { if (pos >= count) { fill(); if (pos >= count) ...原创 2018-08-01 13:41:31 · 908 阅读 · 0 评论 -
java 字符之Unicode和UTF_8
java 字符之Unicode和UTF_8&amp;nbsp;最重要的一点 &amp;nbsp;unicode是字符集 &amp;nbsp;而 UTF-8、UTF-16都是字符集首先 什么是字符集 &amp;nbsp; &amp;nbsp; 如Ascii码表 十进制的48对应 字符0、 &amp;nbsp; 65对应a &amp;nbsp; &amp;nbsp;原创 2018-08-01 13:42:05 · 547 阅读 · 1 评论 -
字符流与字节流 buffer
字符流与字节流java中所有IO操作都可以认为是流的操作 常用的类befferedReader 带有缓存char的fileReader 入参为Rander子类, 然后在Reader基础上生成一个缓冲区域(默认8k char),提高IO效率FileReader entexd InputStreamReader 文件字符输入流 入参为 File 通过File直接...原创 2018-08-02 14:29:17 · 2770 阅读 · 0 评论 -
java反射效率 同名字段赋值
项目又做回了web端,遇到了一个之前听过问题项目接口接受的对象为req对象,数据库使用的为dto对象,有大量名称相同的字段,需要进行类型转换。同名字段赋值每一次都重复20多次的set方法显得很蠢,之前朋友说用反射方法 效率很低闲来无事实现了一下package *.biz.utils;import lombok.extern.slf4j.Slf4j;import org.apach...原创 2019-09-10 16:51:21 · 786 阅读 · 1 评论 -
mybatis以及javaClass 热部署工具
修改mybatis以后总是要重启项目浪费时间,网上找到的手动刷新mybatis的方式 还没有详细看目测原理应该是重新加载xml,并且动态重建spring容器中的mybatis 相关config对象以及推荐 jrebel 代码热部署软件,idea 网上可以搜索到, ctrl+shift+f9重新构建项目后可以实现修改class的动态加载真的很好用package *.config;im...转载 2019-08-22 17:57:04 · 174 阅读 · 0 评论 -
项目加载 waiting时间过长
项目访问延时过长项目访问正常加载时间过长,通过chrome可以看到时间主要集中在waiting阶段将项目在本地启动,所有数据库配置按照线上配置对接接口切面增加,通过日志可以看到,实际接口耗费时间在毫秒级但是实际对接口的访问waiting时间依然还在这个时候查看chrome控制台发现静态资源的访问都需要很长的waiting时间,包括静态资源的访问都有相同的问题,初步断定和业务没有关...原创 2019-09-10 15:24:46 · 1398 阅读 · 0 评论 -
多态父子调用整理
/** * @program: quartzLearn * @description: * @author: zyc * @create: 2018-06-05 16:25 **/package com.zjpavt.test.father;import org.junit.Assert;public class Father { public static Stri...原创 2018-07-10 15:11:05 · 289 阅读 · 0 评论 -
java 静态块,对象加载顺序
package com.test;public class StaticProcessSequence { public static void main(String[] args) { new StaticProcessSequence(); //4.第四步,new一个类,但在new之前要处理匿名代码块 Sy原创 2018-03-27 16:33:49 · 332 阅读 · 1 评论 -
eclipse sts反编译插件
直接在 help -》marketPlace下载安装反编译差件.先试试随便打开一个.class的文件,如果可以,OK. 如果上一步还是打不开,找到Windows->Preferences->Editors->File Associatior,查看.class的打开方式,设置.class的默认打开方式为下载的反编译器方式,然后再试试是否可以打开.class文件。 如果上一步还是打不开,那么还是重原创 2017-12-18 10:59:13 · 2688 阅读 · 1 评论 -
子类与父类属性设置
package FruitBox;public class Fruit { String name; //colorname @Override public String toString() { return this.getClass()+" weight is:"+this.weight+",name is:"+this.name; } double weight原创 2016-07-29 16:14:11 · 3657 阅读 · 0 评论 -
word2html & html2pdf
http://blog.youkuaiyun.com/zk_spring/article/details/43412221#最近有点懒 先开个坑转载 2017-12-12 14:01:30 · 1790 阅读 · 0 评论 -
java添加水印
生成水印图片--原创 2017-12-20 17:30:24 · 1234 阅读 · 0 评论 -
文件夹内是否有文件正在被复制
业务场景是java程序要对特定文件夹内资源进行监控,并入库 文件来源是由管理员直接向服务器拷贝使用方法为通过对文件夹进行File.renameTo(file)操作 可以将文件夹重命名为自己,避免路径出现问题。 如果返回false则有文件正在被操作,返回true则标志复制完毕。发现大批文件在复制的过程中会短暂出现返回true的状态,说明本方法不是一个很完善的方法此外还有File.lastMod原创 2017-12-26 09:40:13 · 768 阅读 · 0 评论 -
通过maven 将java程序及其依赖打成可执行jar包
本地lib中的jar安装进maven库 或者 通过maven配置将该路径包含原创 2017-12-17 15:07:10 · 2236 阅读 · 0 评论