
转载
文章平均质量分 84
yongqi_wang
少点悲伤,多点微笑。少些埋怨,多些鼓励。
展开
-
IDEA 创建一个完整maven项目
创建一个新Maven项目new 一个project不选择任何Maven模板起个GroupId、ArifactId起个项目名。注意:Idea_Project是存放此项目的工作区间,mavenDemo_idea15为存放此项目的子目录。建好项目后,打开,点击Auto-Import下面为此项目的结构项目部署点击Project: 无需设置 (当然可点击Pr...原创 2020-01-15 15:10:00 · 789 阅读 · 0 评论 -
修改maven项目使用的jdk版本
Eclipse下创建maven项目默认使用jdK1.5,有两种方式可以修改该默认配置。方式一:pom文件中添加配置这是修改当前项目使用的jdk版本。<build><plugins><plugin><groupId>org.apache.maven.plugins&l...原创 2020-01-14 14:28:57 · 547 阅读 · 0 评论 -
Dubbo Consumer无法catch到Provider抛出的自定义异常
public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException { try { Result result = invoker.invoke(invocation); if (result.hasException(...原创 2020-01-03 10:53:45 · 523 阅读 · 0 评论 -
ZK集群出现网络波动导致一部分provider无法重新注册
问题产生场景: Ephermal节点未及时删除导致provider不能恢复注册,在应用日志中,应用重连Zookeeper成功后,provider立刻进行了重新注册,之后便没有打印任何日志。而在ZK日志中,注册节点被删除后,并没有重新创建注册节点。public void register(URL url) { super.register(url); failedRegis...原创 2020-01-03 10:48:00 · 977 阅读 · 0 评论 -
《Java最常见的208道面试题及答案》目录
准备面试,或者一些初学者朋友都可以看看,虽然写的不是很深入,但至少给了一个稍微具体点的复习方案,参照每个问题总结下自己的知识,然后对比下其中的答案,在进行一下深入学习。望大家都能在学习中不断成长。https://blog.youkuaiyun.com/FYGu18/article/details/89410521...原创 2019-04-30 16:00:35 · 2615 阅读 · 2 评论 -
为升职加薪做的准备
每次没有上进心了,觉得想跳槽了都会看看类似的文章,让轻飘飘的自己沉下去2w水平的面试几乎很少问SSH的用法,要问也是问架构和设计原理等。例如mybatis是如何管理session和cache的。spring里面有哪些你熟悉的设计模式,你怎么理解和应用的,如何在应用中透传参数等。其实互联网相关的知识去互联网公司后很容易接触,并不是什么难点。我司很多刚来的大学生在半年内都能把一些中间...原创 2019-05-28 10:53:22 · 260 阅读 · 0 评论 -
二叉树实战 22 题
先上二叉树的数据结构:class TreeNode{ int val; //左孩子 TreeNode left; //右孩子 TreeNode right;}二叉树的题目普遍可以用递归和迭代的方式来解1. 求二叉树的最大深度int maxDeath(TreeNode node){ if(node==null){ ...原创 2019-05-31 15:54:34 · 150 阅读 · 0 评论 -
面试题解析
在不断的面试中,分类总结了 Java 开发岗位面试中的一些知识点。主要包括以下几个部分: Java 基础知识点 Java 常见集合 高并发编程(JUC 包) JVM 内存管理 Java 8 知识点 网络协议相关 数据库相关 MVC 框架相关 大数据相关 Linux 命令相关 面试,是大家从...原创 2019-05-31 16:11:42 · 1327 阅读 · 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})$正数、负...原创 2019-06-28 16:12:16 · 165 阅读 · 0 评论 -
synchronized实现原理
随着我们学的的进行,我们知道synchronized是一个重量级锁,相对于lock,它会显得笨重,以至于我们认为它不是那么高效而慢慢摒弃它。1.实现原理 (1) synchronized可以保证方法或者代码块在运行时,同一时刻只有一个线程可以进入到临界区,同时它还可以保证共享变量的内存可见性。 (2) JAVA中每一个对象都可以作为锁,这是synchronized实现同...原创 2019-07-10 20:42:15 · 355 阅读 · 0 评论 -
反射Class.forName和ClassLoader的区别
在java中Class.forName()和ClassLoader都可以对类进行加载。ClassLoader就是遵循双亲委派模型最终调用启动类加载器的类加载器,实现的功能是“通过一个类的全限定名来获取描述此类的二进制字节流”,获取到二进制流后放到JVM中。Class.forName()方法实际上也是调用的CLassLoader来实现的。 // Class.forName(String ...原创 2019-07-23 16:54:38 · 252 阅读 · 0 评论 -
HashMap之resize
1. 导读上期分享了HashMap的key定位以及数据节点的设计, 本期就下面三个问题来分享下个人对于HashMap扩容的理解:.1 HashMap为什么要扩容? 何时扩容?.2 负载因子为什么是0.75?.3 HashMap如何扩容;2. HashMap为什么要扩容经过上期分享, 我们都知道HashMap在构建初始是可以指定table(hash槽)的长度的, 假设我们设定了2, 这...原创 2019-07-23 12:02:42 · 1442 阅读 · 0 评论 -
AQS
提到JAVA加锁,我们通常会想到synchronized关键字或者是Java Concurrent Util(后面简称JCU)包下面的Lock,今天就来扒一扒Lock是如何实现的,比如我们可以先提出一些问题:当我们通过实例化一个ReentrantLock并且调用它的lock或unlock的时候,这其中发生了什么?如果多个线程同时对同一个锁实例进行lock或unlcok操作,这其中又发生了什么?...原创 2019-09-17 14:47:14 · 199 阅读 · 0 评论 -
EXPLAIN 命令详解
在工作中,我们用于捕捉性能问题最常用的就是打开慢查询,定位执行效率差的SQL,那么当我们定位到一个SQL以后还不算完事,我们还需要知道该SQL的执行计划,比如是全表扫描,还是索引扫描,这些都需要通过EXPLAIN去完成。EXPLAIN命令是查看优化器如何决定执行查询的主要方法。可以帮助我们深入了解MySQL的基于开销的优化器,还可以获得很多可能被优化器考虑到的访问策略的细节,以及当运行SQL语句时...原创 2019-04-02 12:58:53 · 2891 阅读 · 0 评论 -
Java 8 中 Date与LocalDateTime、LocalDate、LocalTime互转
/** * Java8中 java.util.Date 类新增了两个方法,分别是from(Instant instant)和toInstant()方法 */// Obtains an instance of Date from an Instant object.public static Date from(Instant instant) { try { ...原创 2019-03-19 11:14:38 · 594 阅读 · 0 评论 -
js时间格式化
/** * 时间格式化 * @param fmt 日期格式 * @param date 时间对象 * @returns {*} 对应时间格式字符串 */function dateFtt(fmt,date){ //author: meizz var o = { "M+" : date.getMonth()+1, //月份 ...原创 2018-12-11 14:35:06 · 250 阅读 · 0 评论 -
Linux 中内存 buffer 和 cache 的区别
细心的朋友会注意到,当你在Linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching.这个问题,貌似有不少人在问,不过都没有看到有什么很好解决的办法.那么我来谈谈这个问题。先来说说free命令 其中:total 内存总数used 已经使用的内存数free 空闲的内存数shared 多个进程共享的内存总额buffer...转载 2018-09-05 15:29:23 · 205 阅读 · 0 评论 -
MyISAM与InnoDB索引的区别
《数据库索引,到底是什么做的?》介绍了B+树,它是一种非常适合用来做数据库索引的数据结构:(1)很适合磁盘存储,能够充分利用局部性原理,磁盘预读;(2)很低的树高度,能够存储大量数据;(3)索引本身占用的内存很小;(4)能够很好的支持单点查询,范围查询,有序性查询; 数据库的索引分为主键索引(Primary Inkex)与普通索引(Secondary Index)。Inno...转载 2018-09-05 15:58:45 · 1053 阅读 · 0 评论 -
TCP/IP协议概述
很明确地说,从通信意义上推敲,TCP一点都不可靠。一个抽象的协议,怎么可能左右介质来保证可靠,不存在的。但凡是经由某种介质的通信行为均不可能是绝对可靠的!正好比我们现实生活中的保险,其实它什么都不能阻止,什么风险也保证不了它的不发生,它保证不了飞机不会掉下来,也无法阻止人生病…事实上,TCP就是通信中的保险业。TCP是如何设计出来的?推而广之这类通信协议是如何设计出来的?如果说让你在一个不...转载 2018-09-05 16:30:45 · 713 阅读 · 0 评论 -
IntelliJ IDEA 必会的基础配置
刚刚使用IntelliJ IDEA 编辑器的时候,会有很多设置,会方便以后的开发,磨刀不误砍柴工。 比如:设置文件字体大小,代码自动完成提示,版本管理,本地代码历史,自动导入包,修改注释,修改tab的显示的数量和行数,打开项目方式,等等一大堆东西。 总结一下,免得下次换了系统,还得再找一遍配置。 设置外观和字体大小 这个呢是设置一下外观。和字体大小。放在第...原创 2018-09-27 17:31:46 · 15333 阅读 · 5 评论 -
ArrayList 源码分析(jdk1.8)
类继承关系:(*=>:接口实现)java.lang.Object –java.util.AbstractCollection =>Collection –java.util.AbstractList =>List –java.util.ArrayList =>List,Serializable(), Cloneable, RandomA...原创 2018-10-18 10:38:39 · 262 阅读 · 0 评论 -
LinkedList 源码分析(jdk1.8)
类继承关系:(*=>:接口实现)java.lang.Object –java.util.AbstractCollection =>Collection –java.util.AbstractList =>List –java.util.AbstractSequentialList –java.util.LinkedList ...原创 2018-10-18 10:55:20 · 320 阅读 · 0 评论 -
HashMap 源码分析(jdk1.8)
类继承关系:什么是HashMap 基于哈希表的Map接口的实现。这个实现提供了所有可选的映射操作,并且允许null值和null键的键值对集合。HashMap数据结构 在jdk1.8之前HashMap是基于桶数组和链表实现的。hashmap通过计算key的hash值来决定其在数组中的位置,因此其查询效率非常高。当出现相同的hash值的元素发生hash冲突时...原创 2018-10-18 11:05:37 · 199 阅读 · 0 评论 -
LinkedHashMap 源码分析 (jdk1.8)
类继承关系:什么是LinkedHashMap 哈希表和Map接口的链表实现,与HashMap的不同之处 在于它维护着一个双向链表,这个链表定义了迭代排序,通常是插入顺序。 * 如果将键重新插入中,则插入顺序不受影响。LinkedHashMap数据结构 LinkedHashMap是基于HashMap实现的,只是在HashMap的基础上增加了双向链表而已。...原创 2018-10-18 11:12:12 · 291 阅读 · 0 评论 -
HashSet 源码分析(jdk1.8)
类继承关系:(*=>:接口实现)java.lang.Object –java.util.AbstractCollection =>Collection –java.util.AbstractSet =>Set –java.util.HashSet =>Set, Cloneable, java.io.Serializable什么是Ha...原创 2018-10-18 11:16:19 · 273 阅读 · 0 评论 -
js加减乘除丢失经度问题
var CMX = CMX || {};/** ** 加 **/CMX.add = function (arg1, arg2) { if(arg1 == undefined && arg2 == undefined)return 0; if(arg1 == undefined)arg1 = 0; if(arg2 == undefined)arg2 = 0; ...原创 2018-10-31 10:25:18 · 640 阅读 · 0 评论 -
SOA架构和微服务架构以及领域驱动设计
一,主流架构模型SOA架构和微服务架构1.1 SOA架构 SOA 全称(Service Oriented Architecture),中文意思为“面向服务的架构”,他是一种设计方法,其中包含多个服务,服务之间通过相互依赖最终提供一系列的功能。一个服务通常以独立的形式存在与操作系统进程中。各个服务之间通过网络调用。跟 SOA 相提并论的还有一个 ESB(企业服务总线),简单来说 ESB...原创 2018-11-13 16:14:14 · 856 阅读 · 0 评论 -
DIV+CSS虚线边框
这里通过边框属性的虚线边框border控制虚线。以下设置的css 高度(css height)和css 宽度(css width)为350像素是为了便于观看演示 其它意思。一、四边为虚线边框border:1px dashed #000; 黑色虚线边框实例:CSS代码: .divcss5{border:1px dashed #000; height:50px;width:350px}Html...原创 2018-12-10 18:12:10 · 28079 阅读 · 5 评论 -
JVM性能调优---G1垃圾回收器
前言关于G1 GC以及其他垃圾收集器的介绍可以参考前一篇JVM性能调优实践——G1 垃圾收集器介绍篇。了解了G1垃圾收集器的运行机制之后,就可以针对一些GC相关参数来调整内存分配以及运行策略。下文的调优主要针对G1垃圾收集器进行介绍,以及会分析一下G1 GC的日志格式。G1 GC日志分析在执行具体的调优任务前,需要结合GC日志以及应用本身的特点。打印详细GClog,需要添加如下启动参数...转载 2018-09-04 14:53:12 · 2413 阅读 · 0 评论