Java高级
文章平均质量分 64
xiaoxaoyu
小小鱼
展开
-
图解Git工作原理
文章目录基本用法约定命令详解DiffCommitCheckoutHEAD标识处于分离状态时的提交操作ResetMergeCherry PickRebase技术说明Git 是程序员学习和工作都离不开的开发工具,也是非程序员好用的文档版本管理工具。本文图解 Git 中的最常用命令。如果你稍微理解 Git 的工作原理,这篇文章能够让你理解的更透彻。原文链接:https://marklodato.github.io/visual-git-guide/index-zh-cn.html基本用法上面的四条命转载 2021-06-27 10:20:05 · 340 阅读 · 0 评论 -
常用的正则表达式整理
一、校验数字的表达式数字:^[0-9]*$n位的数字:^\d{n}$至少n位的数字:^\d{n,}$m-n位的数字:^\d{m,n}$零和非零开头的数字:^(0|[1-9][0-9]*)$非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$正数、负数、和小数:^(\-|\+)?\d+(\.\d+)?$有两位小数的正实数:^[0-9]+(.[0-9]{2})?$有1~3位小数的转载 2021-05-03 21:34:38 · 510 阅读 · 3 评论 -
解决Git无法访问的问题
修改C:\Windows\System32\drivers\etc\hosts文件,在最下面增加以下映射140.82.112.4 github.com140.82.113.3 gist.github.com185.199.108.153 assets-cdn.github.com199.232.68.133 raw.githubusercontent.com199.232.68.133 gist.githubusercontent.com199.232.68.133 cloud.githubus原创 2021-02-27 17:04:20 · 1756 阅读 · 0 评论 -
kafka多线程写入数据案例
文章目录1、主要思路:2、实现步骤2.1、消息接口 Dbinfo2.2、KafkaConnector2.3、CustomkafkaProducer2.4、测试类App1、主要思路:把producer配置信息进行封装使用LineNumberReader获取文件总行数和对应行的起始字节位置,并存入map里,方便不同线程从不同行读取和写入kafka继承Thread类,重写run方法并执行2、实现步骤2.1、消息接口 Dbinfokafka消息对象 KafkaConfiguration原创 2021-03-30 01:51:53 · 1113 阅读 · 0 评论 -
Java实现观察者模式
Java实现观察者模式观察者模式,简单来说就是一对多的依赖,并且把观察者和被观察者对象分开松耦合当某个对象的状态发生更新时,所有依赖的观察者都会收到更新,而断掉依赖的则不在收到代码实现:主题:售楼处的某位员工向有兴趣的用户群发房源降价的消息1、创建观察者接口Observerpublic interface Observer {//观察者接口 void update(String msg);}2、创建被观察者接口public interface Subject {//被观察者的原创 2021-03-26 12:07:10 · 1854 阅读 · 0 评论 -
SSM框架——Spring+SpringMVC+MyBatis整合测试案例
文章目录SSM框架——Spring + SpringMVC + MyBatis整合测试案例1、MVC概念2、创建maven工程3、依赖包导入4、目录结构5、spring.xml配置6、进入webapp,修改其中的web.xml7、java工程8、配置运行环境并运行SSM框架——Spring + SpringMVC + MyBatis整合测试案例1、MVC概念可以简单理解为控制器C和视图V之间的实体类M的交互;而controller表示层、services业务逻辑层、dao数据操纵层,称作java的三层原创 2021-03-21 00:41:50 · 769 阅读 · 3 评论 -
mybatis连接mysql的使用方法
mybatis连接mysql的使用方法一、安装:maven仓库导入mybatis、mysql依赖即可 <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifac原创 2021-03-13 18:06:11 · 383 阅读 · 0 评论 -
Java日期工具类练习使用
问题:给一个日期:20200202观察这个日期,同时满足两个特征:1.左右对称2.除数字0外,只有一个非零数字编码实现以下两项:1.输入任意日期,判断是否满足以上条件,测试用例:20200202,212112122.输出自19700101至今所有符合条件的日期代码实现如下:import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util原创 2021-02-28 02:51:29 · 340 阅读 · 2 评论 -
JavaHigh07-xml结构简介和dom4j常用操作
dom4j简介1、标签是什么手动闭合标签:<tagName attr="v1" attr2="v2"> //嵌套文本内容 text //嵌套子标签 <subTag>...</subTag></tagName>自闭合标签只有属性:<tagName attr="v1" attr2="v2" />2、xml文档结构必须有一个唯一的根标签,文档结构是树形,一般只有叶子节点存text3、示例文件<st原创 2021-02-01 23:37:24 · 216 阅读 · 0 评论 -
JavaHigh06-集合的概念浅析
集合常见的问题一、单列集合框架结构二、双列集合框架结构一、单列集合框架结构Collection接口:单列集合,用来存储一个一个的对象1、概念:List和Set是继承Collection的两个子接口,其中List接口存储有序的可重复的数据,Set接口存储无序的不可重复的数据List接口:ArrayList,LinkedList,VectorSet接口:HashSet、LinkedHashSet,TreeSet2、使用:集合Collection中存储的如果是自定义类的对象,需要自定义类重写e原创 2020-12-12 17:07:34 · 190 阅读 · 0 评论 -
JavaHigh05-Java比较器Comparable和Comparator接口
Java中的对象一般来说只能比较‘==’或‘!=’,不能使用>和<。但在开发中经常有需要对多个对象进行排序,比如说淘宝京东的商品排序。而排序则需要比较其中的两个对象的大小。这时候就引入了Comparable和Comparator接口Java比较器一、自然排序Comparable,一劳永逸型二、定制排序,一次性临时型一、自然排序Comparable,一劳永逸型1、String、包装类都实现了Comparable接口,并在里面重写了接口里的唯一一个方法:compareTo()方法。给出了比较两原创 2020-12-12 02:05:17 · 170 阅读 · 1 评论 -
JavaHigh04-强引用、弱引用、软引用、虚引用
目录一、强引用二、软引用三、弱引用四、虚引用一、强引用强引用只要有对象与其关联,gc时必定不会回收这个对象,如果内存不足,JVM会抛出OOM(OutOfMemory)错误也不会回收它。我们日常使用的大多数情况,基本上都是强引用 String str1 = new String("aa"); String str2 = str1; str1 = null;//置空 System.gc();; System.out.printl原创 2020-12-07 00:52:11 · 175 阅读 · 0 评论 -
JavaHigh01-IO流
IO流是一种流式的数据输入/输出模型:二进制数据以byte为最小单位在InputStream/OutputStream中单向流动;字符数据以char为最小单位在Reader/Writer中单向流动。Java标准库的java.io包提供了同步IO功能:字节流接口:InputStream/OutputStream;字符流接口:Reader/Writer。Java标准库的java.io.File对象表示一个文件或者目录:创建File对象本身不涉及IO操作;可以获取路径/绝对路径/规范路径:getP原创 2020-11-30 11:33:18 · 328 阅读 · 0 评论 -
JavaHigh02-多线程
多线程学习总结一、线程的状态和新建1、线程的状态的5个阶段:2、线程的方法调用3、创建线程的方式1、创建java.lang.Thread子类,重写Thread的run方法2、匿名内部类创建Thread对象,重写run方法3、创建Runnable接口对象,作为Thread类的构造参数传入二、线程池1、固定线程池2、缓存线程池3、单线程池4、submit提交线程池任务4、计划线程池1、延迟多久执行一次(一次性)2、每隔多久执行一次3、执行完延迟多久执行下一次4、释放线程池一、线程的状态和新建1、线程的状态的原创 2020-11-22 22:34:12 · 200 阅读 · 0 评论 -
JavaHigh03-反射
反射是为了解决在运行期,对某个实例一无所知的情况下,如何获取和使用类的属性方法等信息。反射一、Class类1、直接通过一个class的静态变量class获取:2、如果有一个实例变量,可以通过该实例变量提供的getClass()方法获取:3、如果知道一个class的完整类名,可以通过静态方法Class.forName()获取:二、获取类信息后,解析类中属性的信息三、访问和调用方法四、调用构造方法一、Class类通过反射获取类信息(拿到Class实例)有以下三种方式(用String类做案例):1、直接通原创 2020-11-22 02:49:34 · 152 阅读 · 0 评论