
java拾遗
hello_读书就是赚钱
2020年12月加入某头部互联网公司,担任高级开发工程师,从事公司核心软件开发/
2017年6月加入某1000人+软件公司,担任中级架构师从事公司核心软件项目开发,分布式架构研究、部署,生产环境维护等工作
展开
-
java对象hashCode存在的必要性是什么?
加快判断两个对象是否相等为什么是“加快”判断呢?接下来我们好好履履什么是hashCode,还有hashCode的作用场景,只要清晰的认识到hashCode的整个逻辑,什么八股“hashCode跟equals”这种问题再也不会难倒了。1、hashCode是什么?1.1、从源码看起 /** * Returns a hash code value for the object. This method is * supported for the benefit of has.原创 2020-12-03 23:18:02 · 1046 阅读 · 0 评论 -
Java中==,到底比较的什么?
内存地址值 public static void main(String[] args) { Demo demo1 = new Demo(1); Demo demo2 = new Demo(1); System.out.println(demo1 == demo2); //false System.out.println(demo1.hashCode()); //1 System.out.println(demo2.ha.原创 2020-11-20 19:39:24 · 256 阅读 · 0 评论 -
以ArrayList源码为例,说说为什么会出现ConcurrentModificationException
主要靠两个属性:一个是数组类属性modCount一个是数据迭代器对象属性expectedModCount每次对数组增加或删除元素的时候(注意修改的时候是没有的,这个属性只关注数组长度是否变化)会对数组类属性modCount做加一操作。当我们创建一个迭代器对象时,迭代器对象会取当前数组类属性modCount属性作为默认值存储到迭代器对象里面。每次迭代器对象往前迭代的时候都要拿自己的对象里面expectedModCount属性跟数组类的modCount做一次比较,如果相同则代表数据没被改过。如果不原创 2020-10-18 03:32:23 · 220 阅读 · 0 评论 -
通过代理让你的内网JAVA服务器不改代码的情况下能链接上互联网
今天遇到这么一个场景,有一个服务器A是能链接到互联网,只能与内网中的网络通讯。服务器B能链接到互联网,并且A与B之间网络是互通的。A上面搭载着JAVA服务,在不改动代码的情况下,如何让A链接上互联网?一、最开始的解决方案。 最开始的解决方案是使用nginx做正向代理,即在B上面搭建nginx,然后把请求目标的域名指向B的ip,让B进行转发。结果:nginx无法转发https的请求,有尝试...原创 2018-07-30 00:40:18 · 907 阅读 · 0 评论 -
如何根据数据库文件自动生成整个bean层与service层
引言来到公司的第一个任务是使用公司的框架leap(http://leapframework.org/ ORM层真的非常牛逼)进行项目开发,在这个框架中它规定了自己的javabean的注解(如使用@Id描述主键,用@Column描述字段),从而达到像hibernate中的那种持久化对象的功能,虽然ORM层是非常好用,但是写javabean和注解确实非常麻烦的一件事情(因为不是jpa规范,所有无法使用h原创 2017-08-11 21:45:02 · 2221 阅读 · 0 评论 -
转:springmvc 处理时间格式
在使用 SpringMVC 的时候,我们可能需要将一个对象从 View 传递给 Controller 。而当这个 Object 只是一些简单的 String , int 或者 boolean 类型的成员变量时,SpringMVC 能自动将 View 层的 JSON 包含的 String 类型转换为 Object 成员变量相应的类型。但是当这个 Object 包 Date 类型的成员变量的时候, Sp转载 2017-02-05 02:57:06 · 472 阅读 · 1 评论 -
SpringMVC 使用JSR-303进行校验 @Valid
,使用注解一、准备校验时使用的JARvalidation-api-1.0.0.GA.jar:JDK的接口;hibernate-validator-4.2.0.Final.jar是对上述接口的实现;二、编写需要校验的bean@NotNull(message="名字不能为空")private String userName;@Max(value=120,message="年龄最大不能查过120")原创 2017-02-04 16:57:10 · 1067 阅读 · 0 评论 -
关于java类型转换的问题
数据类型的转换,分为自动转换和强制转换。自动转换是程序在执行过程中 “ 悄然 ” 进行的转换,不需要用户提前声明,一般是从位数低的类型向位数高的类型转换;强制类型转换则必须在代码中声明,转换顺序不受限制。自动数据类型转换自动转换按从低到高的顺序转换。不同类型数据间的优先关系如下: 低 ---------------------------------------------> 高 byte原创 2016-12-24 16:56:22 · 356 阅读 · 0 评论 -
java拾遗-java异常机制
如图所示,我们众所周知的异常处理机制。java的异常机制看似简单,但里面存在许许多多我们意想不到的小bug。查了文章等相关资料,做一下总结整理。1.少使用受检异常,多用java异常体系标准异常 会花费很多精力去抓住它–effective java。具体原因可以看书。2.不管有没有出现异常,finally块中代码都会执行public class TestException { public原创 2016-10-18 17:16:21 · 389 阅读 · 0 评论 -
java拾遗-泛型总结
下午看了effective java 讲到泛型,查看了网上的相关资料,对一些比较模糊的地方做一下总结1.定义泛型(类后方法前) public class TestClassDefine<T, S extends Object>{}//T,S随意定义,但是一般会使用T,S public <T, S extends Object> T testGenericMethodDefine(T t, S s)原创 2016-10-08 18:45:54 · 288 阅读 · 0 评论 -
java拾遗-jsp九大内置对象
1.pagepage只是相当于转换成servlet之后的this而已,并没有什么特殊的功能2.pageContext指的是该页面上下文,可以存储一些key-value值,通过该属性获取servlet-context等,在我的项目中,就有{pageContext.servletContext}取项目名,el表达式的pageContext是等同于jsp里面的pageContext的 3.request4原创 2016-10-09 21:11:42 · 293 阅读 · 0 评论 -
java拾遗-重写规则
1.重写时,不可降低方法可视性 2.重写时,子类返回类型必须与父类返回类型相同,或可以是父类返回类型的子类 3.重写时,子类不可在方法前添加static标记(可以添加final标记) 4.重写时,子类参数类型必须与父类参数类型完全一致,不可是父类参数类型的子类原创 2016-10-08 10:41:09 · 435 阅读 · 0 评论