
java基础
nwpu_geeker
向大牛学习!
展开
-
Java中的equals和hashCode方法详解
散列集的概念 链表和数组可以按照人们的医院排列元素的次序,但是,如果想要查看某个指定的元素,却又忘了它的位置,就需要去遍历访问所有元素,知道找到为止。如果集合中包含的元素很多,将会消耗很多的时候。有种数据结构,可以快速地查找所需要的对象,这就是散列表。 散列表为每一个对象计算一个证书,成为散列码(hash code)。散列码是由对象的实例产生的一个整数。具体怎么产生的,下面将会说明。原创 2017-12-07 14:40:17 · 1443 阅读 · 0 评论 -
Java正则表达式--Matcher.group函数的用法
原来,group是针对()来说的,group(0)就是指的整个串,group(1) 指的是第一个括号里的东西,group(2)指的第二个括号里的东西。最近学习正则表达式,发现Java中的一些术语与其他地方描述的有所差异。比如Java正则表达式中的“组”概念与《正则表达式必知必会》一书中讲述的“子表达式”其实是一样的,只是表述不同而已。由此也引发了使用JavaAPI时对group(int grou...原创 2018-05-22 15:09:10 · 566 阅读 · 0 评论 -
如何在java中使用ConcurrentHashMap
ConcurrentHashMap(简称CHM)是在Java 1.5作为Hashtable的替代选择新引入的,是concurrent包的重要成员。在Java 1.5之前,如果想要实现一个可以在多线程和并发的程序中安全使用的Map,只能在HashTable和synchronized Map中选择,因为HashMap并不是线程安全的。但再引入了CHM之后,我们有了更好的选择。CHM不但是线程安全的,而...转载 2018-05-15 14:56:55 · 750 阅读 · 1 评论 -
java中fail-fast 和 fail-safe的区别
原文地址:http://javahungry.blogspot.com/2014/04/fail-fast-iterator-vs-fail-safe-iterator-difference-with-example-in-java.html在我们详细讨论这两种机制的区别之前,首先得先了解并发修改。1.什么是同步修改?当一个或多个线程正在遍历一个集合Collection,此时另一个线程...转载 2018-05-15 14:36:55 · 360 阅读 · 0 评论 -
java注解是怎么实现的
转载 2018-05-09 11:58:15 · 3126 阅读 · 0 评论 -
JDBC使用预编译SQL的好处
JDBC使用预编译SQL的好处一.提高代码的可读性和可维护性. 虽然用PreparedStatement来代替Statement会使代码多出几行,但这样的代码无论从可读性还是可维护性上来说.都比直接用Statement的代码高很多档次 例如: stmt.executeUpdate(“insert into tb_name (col1,col2,col2,col4) values (‘”+va原创 2018-02-26 15:09:10 · 4953 阅读 · 1 评论 -
一位资深程序员大牛给予Java初学者的学习建议
这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议? 今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍。这一部分的内容,同样适用于一些希望转行到Java的同学。在大家看之前,我要先声明两点。1、由于我本人是Java后端开发出身,因此所推荐的学习内容是Java Web和Java后转载 2018-01-10 00:00:50 · 7626 阅读 · 2 评论 -
Java静态绑定和动态绑定的理解
前言本人在学习虚拟机类加载机制时看到,java中类型的加载、连接和初始化过程都是在程序运行时期完成的。这种策略虽然会令类加载时稍微增加一些性能开销,但是会为java应用程序提供高度的灵活性,java里天生可以动态扩展的语言特点就是依赖运行期动态加载和动态连接这个特点实现的。其实就是为了支持java语言的运行时绑定(也称为动态绑定)。因此,本文主要讨论java绑定的概念和理解。java绑定程序绑定的概原创 2018-01-16 12:48:34 · 1487 阅读 · 0 评论 -
String字符串处理常见的面试题总结
首先,我们要先了解常量池的概念,常量池在java中用于保存在编译期已确定的,存在于已编译的class文件中的一份数据。它包括了关于类,方法,接口等中的常量,也包括字符串常量,如String s = “str”这种申明方式;当然也可扩充,执行器产生的常量也会放入常量池,故认为常量池是JVM的一块特殊的内存空间。问题一: String是最基本的数据类型吗? 基本数据类型包括byte、int、ch原创 2017-12-03 14:06:53 · 6748 阅读 · 1 评论 -
java反射的基本概念和简单应用
能够分析类能力的程序称为反射。反射可以用来: 1.在运行时分析类的能力 2.在运行时查看对象,例如,编写一个toString方法供所有类使用 3.实现通用的操作代码。例如:通用dao 一般使用它的主要是工具制造者。下面介绍反射机制最重要的内容—–检查类的结构 在java.lang.reflect包中有三个类Field、Constuctor、Method分别用于描述类的域、构造器和方法。其次原创 2017-12-04 17:11:53 · 985 阅读 · 0 评论 -
java对象初始化面试问题总结
这是一道阿里巴巴的关于Java对象初始化的面试题,但是需要面试者对Java中对象初始化有一个透彻的认识,首先这道题对我有所启发,所以我将记录下来,大家相互学习。原创 2017-12-04 13:58:13 · 1217 阅读 · 0 评论 -
面试官最爱的volatile关键字
在Java相关的岗位面试中,很多面试官都喜欢考察面试者对Java并发的了解程度,而以volatile关键字作为一个小的切入点,往往可以一问到底,把Java内存模型(JMM),Java并发编程的一些特性都牵扯出来,深入地话还可以考察JVM底层实现以及操作系统的相关知识。 下面我们以一次假想的面试过程,来深入了解下volitile关键字吧!面试官: Java并发这块了解的怎么样?说说你对volatil转载 2017-12-12 14:12:36 · 1205 阅读 · 0 评论 -
单点登录原理与简单实现
一、单系统登录机制1、http无状态协议web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过程用下图说明,三次请求/响应对之间没有任何联系。 但这也同时意味着,任何用户都能通过浏览器访问服务器资源,如果想保护服务器的某些资源,必须限制浏览器请求;要限制浏览器请求,必须鉴别浏览器请求转载 2017-12-10 15:47:37 · 1482 阅读 · 0 评论 -
java中Object类的方法
终极父类什么是Object类? Object类存储在java.lang包中,是所有java类(Object类除外)的终极父类。当然,数组也继承了Object类。然而,接口是不继承Object类的。Object类中声明了以下函数protected Object clone() //创建并返回此对象的一个副本。Class<? extends Object> getClass() //返回一个对象的运行原创 2017-12-09 16:51:20 · 3388 阅读 · 0 评论 -
Java关键字transient概念和一个例子
百度百科提到:java语言的关键字,变量修饰符,如果用transient声明一个实例变量,当对象存储时,它的值不需要维持。换句话来说就是,用transient关键字标记的成员变量不参与序列化过程。java的serialization提供了一个非常棒的存储对象状态的机制,说白了serialization就是把对象的状态存储到硬盘上去,等需要的时候就可以再把它读出来使用。但是在存储对象状态时,我们有时原创 2017-12-07 16:58:27 · 1094 阅读 · 0 评论 -
注解简单理解和原理
前言在项目中会使用工具类来处理一些通用的业务,而工具类有一部分是通过注解来完成的。比如:对excel的上传与解析。利用pojo封装excel解析出来的数据,动态的实现excel的解析。 什么是注解注解也叫元数据,例如我们常见的@Override和@Deprecated,注解是JDK1.5版本开始引入的一个...原创 2018-06-17 16:04:46 · 375 阅读 · 0 评论