
Java
文章平均质量分 65
英俊帅比林
我真好看
展开
-
对Kafka的探索
1.kafka名词解释Broker:一个kafka节点就是一个broker,多个kafka节点可以组成一个kafka集群Topic:每条kafka消息都有它的topic,kafka根据topic做消息的分类Producer:消息的生产者,负责向broker发送消息的客户端Consumer:消息的消费者,负责从broker拉取消息来进行消费(解析消息然后执行自己的逻辑)Consu...原创 2020-03-27 13:49:59 · 514 阅读 · 0 评论 -
Log4j2最清楚简单的入门使用教程
自从写javaEE应用开始,就一直在打印日志时饱受麻烦、乱等缺点的折磨,时常感叹命运的不公,为什么不像android移动端开发时的logd打印日志那么好用呢?logd又能给日志划分等级,又能有便捷的日志搜索功能,难道javaEE发展了这么多年,还只能像远古时代一样使用System.out.println()去手动打印日志,再去手动获取时间打印出来吗?当然不是!为何要打印日志?首先,我们必须明...原创 2018-12-18 10:43:04 · 1072 阅读 · 0 评论 -
java String类型转换方法
public static void main(String[] args){ String origin = "123"; Integer.valueOf(origin);//转为Integer封装类型 Integer.parseInt(origin);//转为int型 Boolean.valueOf(origin);//转为Boolean封装类型...原创 2018-12-28 15:41:33 · 496 阅读 · 0 评论 -
jvm内存分配与回收策略
阅读本文前,你需要知道:对新生代和老年代是什么有初步的了解,了解新生代空间中的存储方式(Eden,Survivor)对jvm的垃圾回收机制有了解 : 传送门对垃圾回收的机制和三种方式有了解:垃圾回收方式知道Minor GC 和 Full GC的基本意思正文我们都知道,jvm中的堆空间用来存储对象的实例,而堆空间又被划分为新生代和老年代,当我们创建一个新对象的时候,优先将此对象在Ed...原创 2018-12-27 17:52:48 · 210 阅读 · 0 评论 -
Java使用Arrays.sort()方法给对象排序
当我们给一个整型数组或者浮点型之类的数组排序的时候,很简单就可以达到我们排序的目的,无非是排序算法的问题。那么,如果我们现在想根据对象的一个属性值给一个对象数组进行排序呢?假如我们现在有一个Car类型,Car类中有一个double型的speed属性用来描述车辆的速度,现在我们想根据车速来对一个Car数组中的车辆进行排序,怎么做呢?public class Car{ private doubl...原创 2018-12-10 17:52:06 · 26404 阅读 · 4 评论 -
java注释规范
很多java初学者不善于书写注释或者根本不写注释,这样大大降低了代码的可读性。在团队开发的时候,不写注释是大忌,会大大降低开发效率。然而,注释的书写也有讲究,可不仅仅是//和/**/这么简单,下面我们来看一下注释的规范。...原创 2018-12-20 16:21:46 · 285 阅读 · 0 评论 -
java反射机制
按时大苏打原创 2018-12-20 15:51:50 · 260 阅读 · 0 评论 -
jvm垃圾收集机制详解(下)
上一篇传送门:jvm垃圾收集机制详解(中)三、HotSpot虚拟机的垃圾收集实现根据之前的讲解,java分析对象是否需要被回收是通过对对象的可达性分析来确定的,而可达性分析是通过识别对象是否链接到GC Roots对象决定的。那么很显然,我们需要通过遍历所有的GC Roots节点,然后剩下的没有链接到GC Roots节点的对象就是我们要回收的对象的。那么问题就来了,GC Roots节点那么多,还...原创 2018-12-09 17:42:20 · 222 阅读 · 0 评论 -
java线程的几种常用方法
的想法很多原创 2018-12-09 14:24:14 · 258 阅读 · 0 评论 -
java使用synchronized加锁区域的实验踩坑
啊原创 2018-12-14 16:08:11 · 662 阅读 · 0 评论 -
idea怎么像eclipse一样骚气地快速打System.out.println和main()方法
在eclipse中,我们想打System.out.println()方法,直接输入syso然后按alt+/联想然后再按Enter就能打出来,那么idea怎么实现这个功能呢?我们首先打开File->setting,在搜索框输入live,然后找到这个选项:在右边选中output选项,点击右侧的+号:选择LIve Template:按照下图输入,然后点击define:选择java...原创 2018-12-20 10:12:05 · 1388 阅读 · 0 评论 -
jvm垃圾收集机制详解(上)
在我们学习java之前,经常听到的一个关于java的优点就是,相对于像C语言这种语言,省去了程序员手动回收垃圾的步骤,那么,java虚拟机到底是怎么实现自动垃圾回收机制的呢?一、如何判断对象需要被回收什么时候需要回收对象?经常写别的语言的人可能会说,当我们对一个东西使用完成,需要回收这个东西所占用的空间的时候,需要去手动写代码回收,例如在c++种调用对象的析构函数等的操作。对于java来说,回...原创 2018-12-07 00:16:38 · 191 阅读 · 0 评论 -
SpringMVC踩坑:HTTP Status 405 - Request method 'GET' not supported错误
今天在做项目的时候,在a链接后面拼接了一串参数,然后运行,结果浏览器显示:HTTP Status 405 - Request method 'GET' not supported解决方法:将springMVC中对应的controller中的请求方法改成GET:...原创 2018-12-28 15:46:16 · 1676 阅读 · 0 评论 -
mybatis异常:The content of elements must consist of well-formed character data or markup的解决方法
今天做项目的时候,要加入选择开始日期结束日期然后根据日期范围删选数据显示出来的功能,于是我在mybatis的Mapper xml文件中使用where语句写了形如:select * from t_stuff where time < #{startTime} and time > #{endTime}的语句然后居然报错了,错误如下:The content of elements...原创 2018-12-27 18:06:35 · 46911 阅读 · 8 评论 -
面试总结
1.hashcode 和 equals 方法的作用和联系https://blog.csdn.net/bailu666666/article/details/81153815总结: hashcode和equals都是为了判断对象是否相等,hashcode不同对象也可能相等,所以自定义的对象需要重写hashcode()方法来确保一些数据结构如set中没有重复元素;equals()判断两个对象是否相...原创 2020-02-15 16:12:03 · 591 阅读 · 0 评论 -
Hashmap实现原理
,原创 2019-03-27 21:18:34 · 275 阅读 · 0 评论 -
java如何获取加注解的类和注解的属性值
@原创 2019-03-27 20:11:32 · 5021 阅读 · 1 评论 -
java中为什么重写equals方法一定要重写hashcode方法
,原创 2019-03-26 16:57:02 · 1196 阅读 · 1 评论 -
设计模式——单例模式
,原创 2019-03-15 22:46:50 · 218 阅读 · 0 评论 -
springMVC原理解析
springMVC原创 2019-01-02 15:29:58 · 1210 阅读 · 0 评论 -
java使用代理ip爬取网站内容
在一些有反爬虫技术的网站中,检测到同一ip在短时间内多次访问的时候,可能就会禁掉这个ip。上有政策,下有对策,为了应对这种情况,可以使用多个代理ip去爬取这个网站。java使用代理ip有两种方法:1.设置System系统属性// 设置代理IP System.getProperties().setProperty("proxySet", "true");原创 2019-01-06 15:21:53 · 1553 阅读 · 0 评论 -
算法:两个链表以逆序组成数字相加
题目:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -&...原创 2018-12-30 17:02:36 · 937 阅读 · 0 评论 -
使用idea创建一个Maven java Web项目
使用idea创建Maven java Web项目的步骤比eclipse要稍微凌乱一些,下面我们来逐步创建一个Maven java Web项目1.新建项目输入项目坐标可以选择自己的maven,也可以用idea自带的maven输入项目名和项目的存储位置,点击Finish点击右下角的Import Changes上述步骤完成后目录结构应该是这样的:创建资源目录“resource...原创 2019-01-04 15:00:51 · 13907 阅读 · 7 评论 -
java synchronized关键字在jvm中的实现原理
下原创 2018-12-23 23:10:11 · 689 阅读 · 0 评论 -
java中方法重写和重载的那些事儿
1.重写和重载分别是什么意思重写(Override):重写是子类重新定义了父类的同名同参方法,覆盖了父类的方法,因此,我们也把这种方式叫做“覆写”。重载(Overload):重载是同一个类中,声明的方法名字相同,但是参数不同的个方法,通过调用时传不同的参数来达到调用名字相同但是方法不同的目的。2.注意事项是否可以在方法名字、参数个数、参数类型、参数顺序都相同的时候通过方法的返回值不同来...原创 2018-12-12 12:19:20 · 219 阅读 · 0 评论 -
手把手教你如何从零开始在eclipse上搭起一个ssm(spring+springMVC+myBatis)框架
1.新建一个Maven项目直接点击next:选择这个,这个是指javaWeb项目输入maven项目的坐标点击finish,创建项目完成2.添加maven依赖并下载找到刚建的maven项目下的pom.xml配置文件,打开:接下来,在url和dependencies标签中间加上如下内容:<properties> &am原创 2018-12-19 21:58:15 · 1268 阅读 · 0 评论 -
java从源代码到指令序列的重排序
啊大苏打原创 2018-12-13 22:49:37 · 553 阅读 · 0 评论 -
java128陷阱
啊是大原创 2018-11-14 20:45:44 · 259 阅读 · 0 评论 -
java方法调用流程
1.编译器查看对象的类型和方法名例如,我们有一个类:public class Father { public void fun1(int a) { System.out.println("这是Father的fun1(int a)方法"); } public void fun1(float a) { System.out.println("这是Father的fun1(float...原创 2018-11-11 18:24:42 · 579 阅读 · 0 评论 -
java判断字符串相等
在java中,判断字符串相等有几种不同的情况:1.public class Test { public static void main(String[] args) { String a="aaa"; String b="aaa"; System.out.println(a==b); } }运算结果:这里我们将两个变量a和b都赋值了“aaa”字符串,执行之后发现两个...原创 2018-11-13 16:22:18 · 8058 阅读 · 0 评论 -
java抽象类和接口的区别
1.接口要被实现,抽象类要被继承2.一个类可以实现多个接口,甚至一个接口也可以实现另一个接口,但是只能继承一个抽象类3.抽象类主要用来抽象一种事物,接口主要用来抽象一种功能4.抽象类和接口都不能直接实例化,如果要实例化,抽象类变量必须指向实现所有抽象方法的子类对象,接口变量必须指向实现所有接口方法的类对象。5.接口只能有方法声明,抽象类中可以有方法声明,也可以有方法实现6.接口里定义的变...原创 2018-11-13 15:47:04 · 186 阅读 · 0 评论 -
java实现平衡二叉排序树增删
在学习了普通二叉排序树的算法之后,我们发现了它的一些不足,如果我们的普通二叉树在插入数据的时候造成树的一侧数据过多的话,就会使得查找的时候效率大大降低,在极端情况下,我们插入一串有序的数,原本的二叉树就会变成链表,例如,插入:1,2,3,4,5,6,结果就会变成下图这样:这样就违背了我们二叉树的初衷,相当于有一边的孩子节点失去了意义,这种二叉树就是不平衡的二叉树。那么具体什么样的二叉树是不平...原创 2018-11-11 14:50:45 · 718 阅读 · 0 评论 -
Linux jdk下载解压及配置环境变量
1.在Linux上安装wget如果你是CentOS版本的Linux,可以通过这篇博客的指令安装:https://blog.csdn.net/qq_37856300/article/details/836242262.使用wget在Linux上下载jdk安装好了wget之后,我们找到下载jdk的链接,这里以jdk1.8为例官网链接:https://www.oracle.com/techne...原创 2018-11-01 22:41:04 · 878 阅读 · 0 评论 -
java继承派生和多态详解
继承继承,顾名思义,就是把已经有的拿过来归为己用,java中的继承也不例外。举个例子,假如现在有这样一个需求,让我们写一个关于狗的Dog类,Dog类中有狗的名字、年龄,还有狗的两种行为,也就是这个类的两种方法,分别是run(跑)方法和bark(犬吠)方法,那么我们就可以这样写:public class Dog { String name; int age; public void ...原创 2018-10-31 20:37:10 · 2661 阅读 · 2 评论 -
按位运算 按位与、按位或、按位异或
按位与aba & b100010000111按位或aba | b101011000111按位异或aba ^ b101011000110原创 2018-09-26 21:46:41 · 705 阅读 · 0 评论 -
类的基本设计技巧
1.一定要保证数据私有保证数据私有不会破坏封装性,有时候需要编写一个get()方法或者set()方法对私有数据进行访问或更改,要保持实例域的私有性,数据的表现形式可能会改变,但是它的使用方式却不会经常发生变化。当数据保持私有的时候,它们的表示形式的变化不会对类的使用者产生影响,即使出现bug也容易检测。2.要对数据初始化java不对局部变量进行初始化,但是会对类的成员变量使用默认的构造方法进...原创 2018-10-31 20:23:59 · 329 阅读 · 0 评论 -
java参数传递方式
阿迪斯发原创 2018-10-28 21:26:25 · 325 阅读 · 0 评论 -
JVM对象创建流程解析
cascade原创 2018-10-19 11:48:44 · 369 阅读 · 0 评论 -
java内部类所访问的局部变量为什么要加final
类函数执行完毕,内部类中的还没有执行完毕原创 2018-11-14 21:58:47 · 496 阅读 · 0 评论 -
java浅拷贝和深拷贝
先声明一个Person类:public class Person { public String name; public int age;}在来看两段代码:原创 2018-11-20 22:52:51 · 154 阅读 · 0 评论