
java
文章平均质量分 76
奋斗的小面包
每天进步一点点,N天之后你会发现你征服了一座大山!
展开
-
关于自动映射在项目中的具体落地(dozer)
项目开发过程中,经常需要编写model之间的转换,最常见的有:等操作,故为了简化代码的开发工作,需要简化对象属性之间复制的步骤,目前有两种解决方案,一种是定义converter 使用手写或插件生成,对各个属性进行set方法的设置。IDEA提供GenerateAllSetter插件,可帮助我们快速生成上述代码。另一中方案是使用自动映射框架进行属性的自动设置,基本有两种方向,一种是基于反射进行的,另一中是进行预编译生成相关代码,当然了 后一种在项目运行中效率是最高的。但是我们下面讲解的具体落地 使用的是基于反射原创 2023-05-29 12:51:56 · 524 阅读 · 0 评论 -
雪花算法生成全局id
雪花算法生成全局id算法原理SnowFlake算法生成id的结果是一个64bit大小的整数,它的结构如下图:SnowFlake可以保证:所有生成的id按时间趋势递增整个分布式系统内不会产生重复id(因为有datacenterId和workerId来做区分)算法实现package com.kaffatech.mocha.dsuite.id.manager.impl;import java.util.List;import java.util.Set;import java.ut原创 2021-12-16 16:41:42 · 241 阅读 · 0 评论 -
全局唯一id及业务码生成工具
雪花算法生成全局id算法原理SnowFlake算法生成id的结果是一个64bit大小的整数,它的结构如下图:SnowFlake可以保证:所有生成的id按时间趋势递增整个分布式系统内不会产生重复id(因为有datacenterId和workerId来做区分)算法实现package com.kaffatech.mocha.dsuite.id.manager.impl;import java.util.List;import java.util.Set;import java.ut原创 2021-11-25 19:56:59 · 565 阅读 · 0 评论 -
ThreadLocal学习
ThreadLocal学习ThreadLocal实现原理ThreadLocal.ThreadLocalMap首先,每个Thread 里面都有一个成员 ThreadLocal.ThreadLocalMap 类型的成员变量 static class ThreadLocalMap { //内部存储其实是一个 entry 的数组结构 private Entry[] table; } static class Entry extends WeakRefere原创 2021-07-12 12:04:33 · 272 阅读 · 2 评论 -
JUC中线程池原理解析
JUC中线程池原理解析首先我们先说一下一个线程池基本上会有哪些基本组件构成线程管理器,即线程池,维护线程池中线程数量,当线程空闲数多时尽心线程的回收,当线程紧张时进行线程的创建任务添加与拒绝策略任务队列 BlockingQueue线程的构造工厂 ThreadFactory线程集合worker 即线程中相当于runabble 的固定的模板方法这里我写了一个简易版的线程池,便于让大家了解线程池原理,放到了csdn上https://blog.csdn.ne原创 2021-07-12 01:03:06 · 249 阅读 · 1 评论 -
Lambda表达式详解
首先,我们来谈一谈为什么java jdk8会引入lambda表达式,下面我们定义一个功能,public class Person { public enum Sex { man,woman } private String name; private LocalDate birthday; private Sex gender; private String...原创 2018-05-01 17:58:50 · 297 阅读 · 0 评论 -
java 枚举的用法
总共有以下知识点:构造函数的格式,枚举类中的变量的初始化,类中抽象函数的重写,及枚举类中变量的使用;public enum TestEnum { TestEnum1("魏金浩") { @Override public void show() { // TODO Auto-generated method stub System.out.println(this.getNa...原创 2018-04-30 17:57:20 · 181 阅读 · 0 评论 -
java中的数据流
好了,让我们来学一下Java中的数据流吧~!概念* IO流用来处理设备之间的数据传输* Java对数据的操作是通过流的方式* Java用于操作流的类都在IO包中* 流按流向分为两种:输入流,输出流。* 流按操作类型分为两种:* 字节流 : 字节流可以操作任何数据,因为在计算机中任何数据都是以字节的形式存储的* 字符流 : 字符流只能操作纯字符数据,比较方便。原创 2017-03-13 17:17:42 · 6786 阅读 · 1 评论 -
xml的解析
Dom解析器 Sax解析器 XPath表达式原创 2017-03-10 11:15:16 · 290 阅读 · 0 评论 -
c/s角度看待JavaBean,及关于内省
package com.weiday12_1.www;import java.beans.BeanInfo;import java.beans.IntrospectionException;import java.beans.Introspector;import java.beans.PropertyDescriptor;import java.lang.reflect.Invoca原创 2017-03-23 22:48:19 · 242 阅读 · 0 评论 -
eclipse一些常用的快捷键
取消悬浮提示 windows --preferences--java--Editor---Hovers 右边的combined hover√去掉这样代码中的悬浮窗就不会自动出现了。如果想看,将光标悬浮在代码上,按f2即可alt + /其提示作用新建 ctrl + n格式化 ctrl +shift + f导入包代码块的整理 ctrl + shift +o注释 ctrl +shift + / c...原创 2018-04-26 22:56:34 · 153 阅读 · 0 评论 -
java集合框架的接口概述
java平台的集合接口所定义的函数是通用的,例如:Collection<E>,但是实现可以选择的支持相关操作,当执行没有被支持的操作时,抛UnsupportedOperationException.异常,有幸的时,java平台的各种集合都实现了相关操作。附上集合核心接口的层次图:下面我们来讨论一下集合框架接口:Collection 集合框架的根接口,在实现中,所有实现中有的允许重复,有...原创 2018-05-05 00:36:56 · 426 阅读 · 0 评论 -
java I/O Streams
Byte Streams程序使用字节流去输入和输出字节(8-bit),所有的字节流都继承自 InputStream 和 OutputStream。java平台为我们定义了许多字节流,我们聚焦于文件字节流,这样我们可以更好的演示,其他的字节流使用起来没什么区别除了构造函数的不同。我们一段案例来开始探索字节流吧。import java.io.FileInputStream;import java.i...原创 2018-05-06 00:18:06 · 334 阅读 · 0 评论 -
java泛型的相关介绍
由于本人能力有限,一下为个人理解的观点,如果错误,请留言,我会在验证后修改。为什么使用泛型?泛型简而言之就是当我们定义类,接口,和方法的时候允许类型参数化,通过这种方式我们可以实现代码的复用。使用泛型有几点好处:1)在编译时更强大的类型检查。2)消除强制类型转化3)通过使用泛型可以实现通用算法(比如集合框架)原始类型:当我们定义了一个泛型类,在不指定泛型参数的情况下创建对象,,那么这就是原始类型的...原创 2018-05-27 18:35:49 · 270 阅读 · 0 评论 -
java线程池的实现(原理)
我们并不是要闭门造车,因为现在市面上有一些非常优秀的线程池供我们使用,我们写这段代码的目的是为了更好的理解和使用线程池。首先说一说一个线程池应该具备哪些东西1 初始化线程个数2核心线程个数3最大线程个数4维护线程池中线程数量,当线程空闲数多时尽心线程的回收,当线程紧张时进行线程的创建5任务添加策略6任务队列7线程的构造工厂我们有这些基本就算是够了现在我们先来...原创 2018-08-04 21:58:50 · 714 阅读 · 0 评论 -
使用idea通过maven整合三大框架SSM,及注意事项
首先先晒一下目录结构:工程目录结构 下面我们说说遇到的两个问题:第一个:说找不到mapper.xml文件,进行dao层接口创建动态代理时失败。这个错误是我们的xml不能放在idea中的java下,应该放在resources目录下,要不然idea不会检测到他,并且要注意创建和mapper.java形同的目录结构在resources下,不要用.要用/第二个:集成springmvc...原创 2018-11-29 16:44:25 · 390 阅读 · 0 评论 -
mybatis
Dao层的springcontext配置文件:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xml...原创 2018-11-28 11:36:35 · 197 阅读 · 0 评论 -
关于运行在windows下的docker,在关机后无法start container容器的解决办法
问题描述:tarting containers fails with: Error response from daemon: Cannot restart container my_container: driver failed programming external connectivity on endpoint my_container (782f444833c57027050a5...原创 2019-06-30 10:40:18 · 3226 阅读 · 1 评论 -
如何生成验证码
我们先来看一个基本的应用://Image ImageIO BufferedImage Icon ImageIcon类 BufferedImage bufferedImage = new BufferedImage(70, 30, BufferedImage.TYPE_INT_BGR); //构建一个图片缓冲区 Graphics2D g2 = (Graphics2D) buffered原创 2017-03-11 22:26:37 · 279 阅读 · 0 评论 -
XML,schema,dtd文件结构
xml dtd schema原创 2017-03-08 16:33:35 · 444 阅读 · 0 评论 -
Two Day(1)---基本数据类型
好,现在我们来说一下java数据类型的问题,这一点很值得你去学习一下,会又你收获的地方Java语言基础(常量的概述和使用)(掌握) A:什么是常量在程序执行的过程中其值不可以发生改变B:Java中常量的分类字面值常量自定义常量(面向对象部分讲)C:字面值常量的分类字符串常量 用双引号括起来的内容整数常量 所有整数小数常量 所有小数字符常量 ...原创 2016-12-09 11:05:52 · 310 阅读 · 0 评论 -
Two Day(2)---运算符
上一篇我们说道基本数据类型的浮点数了,在这篇我们会介绍原创 2016-12-10 10:51:33 · 283 阅读 · 0 评论 -
Three Day(1)---switch
Java语言基础(选择结构switch语句的注意事项)(掌握)a:case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的b:default可以省略吗?可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。特殊情况:case就可以把值固定。A,B,C,Dc:break可以省略吗?最后一个可以省略,其他最好不要省略会出现一个现象:ca原创 2016-12-10 11:11:52 · 223 阅读 · 0 评论 -
TreeDay(2)---数组
数组知识点1:数组的概念2:数字的初始化3:数组的内存分配4:数组的问题数组是存储同一种数据类型多个元素的集合。也可以看成是一个容器。数组既可以存储基本数据类型,也可以存储引用数据类型。数组定义格式 : 数据类型[] 数组名 = new 数据类型 [ 数组的长度 ];数组的初始化有两种:静态初始化和动态初始化。我们先说动态初始化,动态初始化时只指定长度原创 2016-12-11 09:44:30 · 315 阅读 · 0 评论 -
Forth Day(浅谈对象的内存图解)
class Test_Object { public static void main(String[] args) { Car r = new Car(); r.color = "red"; r.num = 12; r.run(); }}class Car { String color; int num; public void run() { System.原创 2016-12-11 22:30:22 · 569 阅读 · 0 评论 -
FiveDay(浅谈对象在内存中)
翻译人员: 铁锚翻译日期: 2013年11月8日原文链接: What do Java objects look like in memory during run-time?我们知道,函数每次被调用时,在内存中都有自己的活动记录(activation record),称为栈空间(stack). Java 的方法在调用时在 JVM 栈中为其分配一个栈帧(Java栈空间的一个片段原创 2016-12-13 09:16:37 · 307 阅读 · 0 评论 -
FiveDay(内存分配策略)
1. 内存分配策略按照编译原理的观点,程序运行时的内存分配有三种策略,分别是静态的,栈式的,和堆式的。静态存储分配是指在编译时就能确定每个数据目标在运行时刻的存储空间需求,因而在编译时就可以给他们分配固定的内存空间。这种分配策略要求程序代码中不允许有可变数据结构(比如可变数组)的存在,也不允许有嵌套或者递归的结构出现,因为它们都会导致编译程序无法计算准确的存储空间需求。栈式存储分配也可原创 2016-12-13 09:43:45 · 450 阅读 · 0 评论 -
数组排序
package com.heima.sort;/** * 冒泡排序法 * 数组元素:{24, 69, 80, 57, 13} 请对数组元素进行排序。 选择排序 * */public class TestSort { public static void main(String[] args) { // TODO Auto-generated method stub in原创 2016-12-22 11:32:14 · 259 阅读 · 0 评论 -
java正则表达式的应用
package com.heima.regex;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * * 需求:把一个字符串中的手机号码获取出来 * */public class RegexTest { public static void main(String[] args) {原创 2016-12-24 16:27:34 · 300 阅读 · 0 评论 -
java 代理二三事
好了,图片看的也差不多了,让我们上手写一个小程序吧!package com.heima.proxy;import java.lang.reflect.Proxy;import java.util.Arrays;public class TestProxy { public static void main(String[] args) { Object[] b = new O原创 2016-12-24 22:08:07 · 345 阅读 · 0 评论 -
java集合
未完待续原创 2016-12-25 19:48:09 · 244 阅读 · 0 评论 -
java泛型类详解
大家可以参看这三篇文章,是根据java核心技术卷(一)加上自己的想法写的,不建议直接看核心技术卷,因为书中写的羞涩难懂,感觉这句话说到一半就止的感觉,建议先看了这三篇文章后再看java核心技术卷(一)泛型的基本介绍和使用http://blog.youkuaiyun.com/lonelyroamer/article/details/7864531泛型的内部原理:类型擦除以及类型擦除带来的问题http原创 2016-12-27 20:30:01 · 611 阅读 · 0 评论 -
内部类的那些事
内部类是定义在另一个类中的类,为什么使用内部类呢?其主要原因有三1.内部类方法可以访问该类定义所在作用域中的数据,包括私有数据2.内部类可以对同一个包中的其他类隐藏起来3.当想要调用一个回调函数且不想编写大量代码时,可以使用匿名内部类内部类有4 中类型:1.成员内部类2.局部内部类 3.静态内部类 4.匿名内部类one by one成员内部类看一下下列代码:publ原创 2016-12-24 11:02:18 · 390 阅读 · 0 评论 -
eclipse最实用的快捷键
Alt + / 代码引导 Ctrl + T 在方法上按此键可进入实现类 Ctrl + 鼠标左键 在方法上按此键可进入接口 Ctrl + Alt + H 在方法上按此键可进入调用此方法的上一级方法 Ctrl + O 显示当前类中所有方法的列表 Ctrl + Shift + O 导入缺少的包 Ctrl + Shift + R 根据文件名搜索文件 Ctrl + Shift +原创 2017-03-08 20:38:58 · 226 阅读 · 0 评论 -
java的LocalDate类使用
下面我们就以一个简单的日历小程序来小试一下身手。package Calendar;import java.time.DayOfWeek;import java.time.LocalDate;public class CalendarTest { public static void main(String[] args) { LocalDate date = LocalDat原创 2017-02-27 10:26:44 · 7481 阅读 · 0 评论 -
java对象与类小议
本程序展示类类的一部分特性:1 重载类构造器2 用this(....)调用另一个构造器3 无参构造器4 在声明中初始化5 在构造器中初始化6 初始化块7 静态初始化块//主函数如下:public class ConstructorTest { public static void main(String[] args) { Employee[] staff原创 2017-02-27 11:49:03 · 306 阅读 · 0 评论 -
对象equals()方法的书写模板
下面先给出编写一个完美的equals方法的建议:1)显示参数命名为otherObject,稍后需要将他转变成另一个叫做other的变量2)检测this与otherObject是否引用了同一个对象:if(this == otherObject) return true;3)检测otherObject是否为null,如果为null返回falseif(otherObject == n原创 2016-12-26 15:37:53 · 1663 阅读 · 0 评论 -
oneDay---(prime)-jdk与jre
jdk和jre首先咱们来说说java基础中的jdk和jre的那点事.jdk(Java Development Kit) 是 Java 语言的软件开发工具包,好的,jdk的学名我们解释了,现在让我们来看看jdk现在安装后的文件夹和文件的作用。哦了!第一个bin文件夹该目录用于存放一些可执行程序。如javac.exe(java编译器)、java.exe(java运行工具),原创 2016-12-08 16:27:34 · 655 阅读 · 0 评论