
java
墨予
乐于学习一切技术 技巧
展开
-
java 接口与抽象
Java接口和Java抽象类最大的一个区别,就在于Java抽象类可以提供某些方法的部分实现,而Java接口不可以(就是interface中只能定义方法,而不能有方法的实现,而在abstract class中则可以既有方法的具体实现,又有没有具体实现的抽象方法),这大概就是Java抽象类唯一的优点吧,但这个优点非常有用。如果向一个抽象类里加入一个新的具体方法时,那么它所有的子类都一下子都得到了这个新方法,而Java接口做不到这一点,如果向一个Java接口里加入一个 新方法,所有实现这个接口的类就无法成功通过编原创 2020-08-17 11:59:48 · 146 阅读 · 0 评论 -
java 实现 排序算法
插入排序: public static void main(String[] args) { int[] arr= new int[] {1,3,5,7,6,3,4,8}; insertSort(arr); for (int i=0; i<arr.length; i++) { System.out.println(arr[i]);} } public static void insertSort(int[] arr) { for (int i=1; i < a原创 2020-08-12 21:06:14 · 145 阅读 · 0 评论 -
java 关于类加载
运行一个java文件通常 要经历java → .class → 运行。而从.class → 运行 就需要用到类加载机制 举个通俗点的例子来说,JVM在执行某段代码时,遇到了class A, 然而此时内存中并没有class A的相关信息,于是JVM就会 到相应的class文件中去寻找class A的类信息,并加载进内存中,这就是我们所说的类加载过程。类加载加载简单来说,加载指的是把class字节码文件从各个来源通过类加载器装载入内存中。这里有两个重点: 字...原创 2020-08-09 16:47:34 · 204 阅读 · 0 评论 -
java线程池 攻略
多线程运行时间,系统不断的启动和关闭新线程,成本非常高,会过渡消耗系统资源,以及过渡切换线程的危险,从而可能导致系统资源的崩溃。这时,线程池就是最好的选择了。 我们首先看看线程池的构造方法public ThreadPoolExecutor(int corePoolSize,int maximumPoolSize,long keepAliveTime,TimeUnit unit, BlockingQueue<Runnable> workQueue,Threa...原创 2020-08-08 16:23:14 · 148 阅读 · 0 评论 -
java 集合的遍历 推荐做法
1.使用entrySet遍历Map集合,而不是用KeySet遍历public static void main(String[] args) { Map<String, String> map = new HashMap<String, String>(); map.put("1", "xiaqiu"); map.put("2", "pangzi"); map.put("3", "shouzi"); //推荐用entr原创 2020-08-06 10:27:29 · 141 阅读 · 0 评论 -
java euqals 总结
1.equals()与‘==’的区别 == 比较的是对象的地址,equals可以通过重写 比较值2.equals()和equalsIgnoreCase()的区别 equalsIgnoreCase()可以忽略大小写的比较3.equals容易出现空指针异常,应使用确定有值的对象来调用equals 正例:"test".euqals(object) 反例:object.equals("test”)4.重写equals 的同时建议也重写hashCode方法(若...原创 2020-08-04 12:35:27 · 373 阅读 · 0 评论 -
POJO类中的布尔类型
阿里巴巴开发手册中:“POJO类中布尔类型的变量,都不要加is,否则部分框架解析会引起序列化错误。反例:定义为基本数据类型boolean isSuccess 的属性,它的方法也是isSuccess(),RPC框架在反向解析的时候,以为对应的属性名称是success,导致属性获取不到,进而抛出异常”。package org.cjr.test.testmodel;import java.io.IOException;import java.io.Serializable;import com原创 2020-07-29 12:26:05 · 588 阅读 · 0 评论 -
并发容器ThreadLocal实现银行转账功能
ThreadLocal 在面试中经常提到,关于ThreadLocal使用不当造成OOM以及在特殊场景下,通过ThreadLocal可以轻松实现一些看起来复杂的功能,都说明值得花时间研究其原理。ThreadLocal 不是 Thread,是一个线程内部的数据存储类,通过它可以在指定的线程中存储数据,对数据存储后,只有在线程中才可以获取到存储的数据,对于其他线程来说是无法获取到数据。可能这才是...原创 2019-10-14 11:56:06 · 306 阅读 · 0 评论 -
java web 三层架构 oracle 实现学生管理系统
最近在看网易云课颜群的java web课程 做一些总结首先看一下结构:java 部分jsp部分DBUtil.java 这一部分主要是放置了连接数据库的一些通用方法。package oge.student.util;import java.sql.Connection;import java.sql.DriverManager;import java.sql....原创 2019-09-30 18:01:46 · 1273 阅读 · 3 评论