JAVA
冲动的白龙马
这个作者很懒,什么都没留下…
展开
-
什么是语法糖?Java中有哪些语法糖?
什么是语法糖?Java中有哪些语法糖?原创 2022-08-24 16:42:48 · 389 阅读 · 0 评论 -
java中enum的用法总结
一、enum的语法与基本作用创建一个枚举类型需要使用关键字enum,隐含了所创建的类都是java.lang.Enum的子类。枚举类型的每一个值都被映射到protect enum(String name, int ordinal);的构造函数中,在这里枚举的每一个值都被转换成一个字符串,并且同时对应一个下标(从0开始的)。 在实际开发中往往需要处理一些“数据集”,这些数据集在程序中是相对稳定的,如一原创 2017-06-04 14:10:58 · 437 阅读 · 0 评论 -
java泛型中的通配符?问题
本文是经过网上查找的资料整合而来,给自己做个笔记,也分享给大家!需要你对泛型有一定的基础了解。package Test8_8;import java.util.ArrayList;import java.util.List;class Animal { private String name; public Animal(String name) { this.na转载 2017-06-20 17:21:02 · 237 阅读 · 0 评论 -
java集合---视图与包装器
视图—-通过使用视图可以获得其他实现了Collection与Map接口的对象。映射类的keySet就是这样一个实例。初看起来,好像这个方法创建了一个新集,并将映射中的所有键都填进去,然后返回这个集。但是,事实并非如此。取而代之的是:keySet方法返回一个实现了Set接口的类对象,这个类的方法对原映射进行操作。这种集合就是视图。轻量级集合包装器Arrays类的静态方法asList将返回一个包装了普通原创 2017-07-01 16:00:56 · 1307 阅读 · 0 评论 -
Java集合系列02--LinkedList
LinkedList(1)LinkedList是一个继承与AbstractSequentialList的双向链表。它也可以被当做堆栈、队列和双向队列使用。 (2)LinkedList实现了List接口,能对它进行队列操作。 (3)LinkedList实现了Deque接口,即可以当做双端队列使用。 (4)LinkedList实现了Cloneable,即可以覆盖clone()方法。 (5)Lin原创 2017-07-11 17:55:45 · 231 阅读 · 0 评论 -
java集合系列01--ArrayList
以下几篇文章都是对java集合的一个介绍,这些文章并非都是我的原创,主要是集合了各种途径获取的一个总结。对于集合,我们主要从以下四点关注: 1.是否允许为空; 2.是否允许重复数据; 3.是否有序,有序是指读取顺序与存放顺序是否一致; 4.是否线程安全。ArrayList(1)ArrayList 是一个数组队列,相当于动态数组。与Java中的数组相比,它的容量原创 2017-07-02 16:38:31 · 284 阅读 · 0 评论 -
Filter过滤器使用
Servlet中的过滤器Filter是实现了javax.servlet.Filter接口的服务器端程序,主要的用途是过滤字符编码、做一些业务逻辑判断等。其工作原理是,只要你在web.xml文件配置好要拦截的客户端请求,它都会帮你拦截到请求,此时你就可以对请求或响应(Request、Response)统一设置编码,简化操作;同时还可进行逻辑判断,如用户是否已经登陆、有没有权限访问该页面等等工作。它是随转载 2017-07-19 16:47:13 · 617 阅读 · 0 评论 -
Java动态代理机制详解(JDK 和CGLIB,Javassist,ASM)
class文件简介及加载 Java编译器编译好Java文件之后,产生.class 文件在磁盘中。这种class文件是二进制文件,内容是只有JVM虚拟机能够识别的机器码。JVM虚拟机读取字节码文件,取出二进制数据,加载到内存中,解析.class 文件内的信息,生成对应的 Class对象: class字节码文件是根据JVM虚拟机规范中规定的字节码组织规则生成的、具体cla转载 2017-08-20 12:04:31 · 252 阅读 · 0 评论 -
对象创建过程
对象的创建过程: 1.指令参数能否在常量池中定位到一个类的符号引用; 2.检查这个符号引用代表的类是否已经被加载、解析和初始化,如果没有必须先执行类加载过程; 3.类加载检查通过后,虚拟机分配内存(对象的内存大小在类加载完成后就可以确定)。内存分配有“指针碰撞”和“空闲列表”两种方式。 首先先解释一下“指针碰撞”–假设java堆内存是绝对完整的,那么用过的内存放在一边,空闲的内存放在一边,中原创 2017-10-20 11:01:35 · 495 阅读 · 0 评论 -
JNDI、JMS和JTA
什么是JNDIJNDI全面总结 原理: 在DataSource中事先建立多个数据库连接,保存在数据库连接池中。当程序访问数据库时,只用从连接池中取空闲状态的数据库连接即可,访问结束,销毁资源,数据库连接重新回到连接池,这与每次去直接访问数据库相比,会节省大量时间和资源。 JNDI( Java Naming and DirectoryInterface转载 2018-01-06 12:30:29 · 567 阅读 · 0 评论 -
hashCode与equals的联系与区别
一、equals方法的作用1、默认情况(没有覆盖equals方法)下equals方法都是调用Object类的equals方法,而Object的equals方法主要用于判断对象的内存地址引用是不是同一个地址(是不是同一个对象)。2 、要是类中覆盖了equals方法,那么就要根据具体的代码来确定equals方法的作用了,覆盖后一般都是通过对象的内容是否相等来判断对象是否相等。没有覆盖equals方法代码转载 2017-06-02 11:07:51 · 238 阅读 · 0 评论 -
String类中的equals方法与Object类中equals方法的区别
今天在无意中发现一个小知识点,难度不大就是简单和大家分享一下。String str1 = new String("abc");String str2 = new String("abc");System.out.println(str1.equals(str2));//trueSystem.out.println(str1.hashCode());//96354System.out.prin原创 2017-06-02 10:25:19 · 3749 阅读 · 1 评论 -
UUID唯一标识生成器
使用该方法生成的ID可以确保是绝对的唯一ID,但是它获取的是一个32位的无序的序列,我们往往将其设置在数据库中做为主键,在调用数据库信息时不会去调用它,它只作为一个标识没有实际价值。import java.util.UUID;/** * 描述:唯一标识生成器(生成数据库表的主键id) */public class IDGenerator { /** * 获取原创 2017-05-05 12:24:22 · 1464 阅读 · 0 评论 -
Tomcat的简单配置
我们尝试将自己eclipse中创建的Web工程发布到网上一、创建Web工程 1.在自己的eclipse中创建Web工程步骤如下: 选择Web下的Dynamic Web Project 创建Project name的文件名;Dynamic web module version选择2.5 新建HTML文件 新建文件夹,命名为images 到这里一个简单的Web工程就创建成功了原创 2017-05-14 11:33:04 · 645 阅读 · 0 评论 -
为什么要把Java字符串设计为不可变的
String是Java中一个不可变的类,所以它一旦被实例化就无法被修改。不可变类一旦被创建就不可以被修改。本文将从内存、同步和数据结构相关知识简单说明一下将String设计为不可变类的好处。(1)字符串池:字符串池是方法区中一部分特殊存储。当一个字符串被创建的时候,首先会去字符串池中查找,如果找到,直接返回对该字符串的引用。String str1 = "abcd";String str2 = "a原创 2017-05-25 09:58:45 · 329 阅读 · 0 评论 -
HashMap和HashTable的分析(ConurrentHashMap的衍生)
集合类是Java API的核心。同时HashMap和HashTable的比较是面试中常见的问题,是考验程序员能否正确使用集合类。HashMap是原创 2017-05-17 19:37:36 · 726 阅读 · 0 评论 -
深入分析HashMap
HashMap 和 HashSet 是 Java Collection Framework 的两个重要成员,其中 HashMap 是 Map 接口的常用实现类,HashSet 是 Set 接口的常用实现类。虽然 HashMap 和 HashSet 实现的接口规范不同,但它们底层的 Hash 存储机制完全一样,甚至 HashSet 本身就采用 HashMap 来实现的。 通过 HashMap、Has转载 2017-05-20 11:42:30 · 173 阅读 · 0 评论 -
Java中堆和栈的分析
Java把内存分成两种,一种叫做栈内存,一种叫做堆内存 在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后(例如在for循环中定义一个i控制次数当循环结束后i的内存就会被释放),java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用。原创 2017-05-22 11:14:56 · 248 阅读 · 0 评论 -
Java中堆和栈的分析
Java把内存分成两种,一种叫做栈内存,一种叫做堆内存 在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后(例如在for循环中定义一个i控制次数当循环结束后i的内存就会被释放), java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用。 堆内存用于存放由new创建转载 2017-05-22 11:40:33 · 166 阅读 · 0 评论 -
【解惑】领略Java内部类的“内部”
内部类有两种情况: (1) 在类中定义一个类(私有内部类,静态内部类) (2) 在方法中定义一个类(局部内部类,匿名内部类)1、私有内部类 —— 在方法之间定义的内部类,非静态 我们首先看看类中内部类的两个特点: (1) 在外部类的作用范围内可以任意创建内部类对象,即使内部类是私有的(私有内部类)。即内部类对包围它的外部类可见。 例如 (实际上,内部类是可以设置为p转载 2017-06-17 16:20:42 · 236 阅读 · 0 评论 -
java中内部类使用小结
内部类的声明与访问 内部类可以是static的也可以用其它四种访问修饰符(而外部类只能使用public和 default修饰)。内部类所能实现的功能外部类也同样可以全部实现,只是使用内部类可以使其更加简洁高效。 内部类是一个编译时概念,一旦编译成功就会变成两个完全不同的类,对于一个名为outer的外部类和一个名为inner的内部类。编译结束之后会出现outer.class和outer$原创 2017-06-16 11:27:22 · 377 阅读 · 0 评论 -
MD5加密技术
这是一个简单的MD5加密的实现代码,做为初级码农不需要去理解其实现原理只要会用就行;一般我们将其写成工具类可以方便的调用。import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;public class MD5Util { // 全局数组 private final stati原创 2017-05-05 11:30:38 · 329 阅读 · 0 评论