java
文章平均质量分 69
盛夏与微风
要加油哦
展开
-
#Java 核心技术卷一阅读笔记# 第六章 接口、lambda表达式与内部类
6.1 接口(interface)接口:用来描述类具有某种(些)功能,实现(implement)了接口的类必须要给出接口方法的实现。 接口中所有的方法都属于public,故在接口的定义中忽略不写,但在类中实现时需要写出。 接口中包含三种方法:1.抽象方法,必须要实现了该接口的类中给出实现;2.静态方法(static),在接口内实现方法;3.默认(default)方法,在接口内为此方法给出一个默认原创 2017-09-25 16:17:12 · 294 阅读 · 0 评论 -
#Thinking in Java阅读笔记# 第十一章 持有对象
Java容器类基本类型分为collection类和Map类 colletion储存独立元素的序列,分为List/Set/Queue三个接口 Map又名映射类(关联数组),储存键值对对象 具体容器类只在创建容器类对象时使用,可以直接创建接口对象而方便改变具体类型List<Integer> list = new ArraysList<>();Arrays.asList()/Collection.a原创 2017-11-10 17:56:59 · 270 阅读 · 0 评论 -
#Thinking in Java阅读笔记# 第四章 控制执行流程
迭代:while/do-while/for循环,在迭代语句的主体部分,可用break/continue控制循环的流程。 break:跳出迭代,且不执行余下部分 continue:跳出当前迭代,执行下一次循环 无限循环:while(true)/for(;;) 迭代中的带标签break和label的应用: 标签应该正好置于迭代开始之前,中间不要添加任何语句,设置标签的唯一理由是:使用多重迭代或原创 2017-10-25 17:20:07 · 206 阅读 · 0 评论 -
静态方法和非静态方法
首先,两者本质上的区别是:静态方法是在类中使用staitc修饰的方法,在类定义的时候已经被装载和分配。而非静态方法是不加static关键字的方法,在类定义时没有占用内存,只有在类被实例化成对象时,对象调用该方法才被分配内存。 其次,静态方法中只能调用静态成员或者方法,不能调用非静态方法或者非静态成员,而非静态方法既可以调用静态成员或者方法又可以调用其他的非静态成员或者方法。 例子1转载 2017-10-25 20:58:35 · 182 阅读 · 0 评论 -
#Thinking in Java阅读笔记# 第七章 复用类
组合在新类中直接使用一个现有类继承分为子类和超类,单线继承 当子类初始化时,子类的构造器会调用超类的构造器来进行初始化: 1.当超类构造器是默认构造器时,java会自动调用超类构造器,不需要显式,且初始化顺序是按照继承链从上至下的 2.当超类构造器需要传递参数时,则需要显示调用超类构造器(super),且超类初始化要放在子类构造器的最前端 3.在子类中重载某方法(即方法名相同、参数不同)时,原创 2017-10-31 09:10:18 · 227 阅读 · 0 评论 -
#Thinking in Java阅读笔记# 第八章 多态
多态的作用是消除类型之间的耦合关系。可以只编写基类为接口的方法(数组),其子类均可以调用这些方法,子类向上转型后,可通过动态绑定在运行时确定需要具体执行的方法主体,从而方便添加新类型或添加新方法而不需要更改原有方法。“能将改变事物与为变事物分离” 多态=动态绑定=后期绑定 final(private)和static方法均为前期绑定,java的其他方法为后期绑定 OOP的基本特征:数据抽象、继承原创 2017-11-03 17:11:07 · 219 阅读 · 0 评论 -
#Thinking in Java阅读笔记# 第九章 接口
抽象类和抽象方法抽象方法是有方法声明而没有方法体的函数,必须要用abstract标明。 修饰符 + abstract void f(); 而含有一个或者多个抽象方法的类就是抽象类(Abstract Class),必须注明。而抽象类中不要求所有方法都是抽象方法。 abstract class abs{….} 如果新类继承了抽象类,则必须为抽象类中的所有抽象方法提供具体实现,否则新类还为抽象类,原创 2017-11-04 21:34:25 · 210 阅读 · 0 评论 -
SpringMVC自定义异常处理器
异常可以分为两类:1.可预知异常2.不可预知异常(即runtime异常)前者是程序员主动抛出的异常,为了给用户提示,后者可以通过提高代码质量来避免本项目使用了ssm框架,即异常通过dao-&gt;service-&gt;action抛出,最后前端控制器中的异常处理器来捕获处理异常。自定义异常类型代码如下:/** * 自定义异常类型,成员为ResultInfo,用来储存错误信息以...原创 2018-10-10 17:24:18 · 3317 阅读 · 1 评论 -
SpringBoot整合Eureka注册页面进入Whitelabel Error Page
今天配置EurekaServer时发现运行不出错,但是进不去注册中心,后来发现原来是我用了maven的默认项目来配置,如果使用webapp骨架就可以正常访问了。。贴上配置文件:application.yml#定义服务应用名称spring: application: name: eureka-server freemarker: prefer-file-system-...原创 2019-03-18 15:43:52 · 4197 阅读 · 0 评论 -
instanceof的概念和原理解析
概念:instanceof判定一个对象是否为指定类的实例用法:boolean object instanceof class/interface/Arrayinstanceof的右侧可以是类、接口、数组原理:1.instanceof左边必须为引用类型或null,否则运行时会报错,而右边不能为null2.instanceof的左边必须为可具体化的类型,即不能为泛型,否则编译时报错3...原创 2019-04-02 11:34:06 · 7510 阅读 · 0 评论 -
厄拉多塞筛法求质数
今天刷题看到了一个很有意思的求质数方法,记录一下。如求10之内的质数,首先列出2~N-1的所有数,如果当前数为质数,则其倍数就是质数,如:第一个质数为2,在2上画圈,其倍数4/6/8不是质数,划掉4/6/8,继续遍历下一个质数为3,在3上画圈,其倍数6/9不是质数,划掉6/9,继续遍历下一个质数为5,在5上画圈,没有倍数,继续遍历下一个质数为7,在7上画圈,没有倍数,继续遍历。最后再...原创 2019-06-26 15:58:05 · 1209 阅读 · 0 评论 -
使用maven-war-plugin插件合并maven项目多个war包
在一个大项目中拆分maven工程时,很有可能会把js、css、jsp等文件放在不同的工程里(根据业务模块划分)。因为如果都集中在一个mavenwebapp里,那么这个maven webapp会太大,而且在业务上也比较分散但是这些持有js、css、jsp的maven工程,如果packaging设置为jar是不合适的,因为外围要读取内部的这些文件就会很困难。在这种场景下,一个很自然的想法就是打成...原创 2019-07-11 19:09:16 · 1265 阅读 · 0 评论 -
#Thinking in Java阅读笔记# 第十章 内部类
创建内部类内部类的创建:把内部类的定义放置在外部类的定义之中,在非静态方法中创建内部类时,内部类的使用就和组合类一样。但是在非静态方法之外的部分创建内部类,必须要对内部类的对象变量声明为:OuterClassName.InnerClassNamepublic class TestJava { class inner{ public void print() {原创 2017-11-06 20:07:40 · 225 阅读 · 0 评论 -
ContactManagementSystem总结
1.Java具有的观感名称以及类名 为JFrame设置观感的方法:try { UIManager.setLookAndFeel("javax.swing.plaf.nimbus.NimbusLookAndFeel");//设置观感 SwingUtilities.updateComponentTreeUI(JFrame x);//刷新x以及其中的组件}catch(Except原创 2017-10-20 09:38:58 · 2346 阅读 · 0 评论 -
JFrame的使用笔记
在project的src文件夹中添加package,命名,向其拖入图标图片:在框架的构造函数中加入以下代码:try { Image icon = ImageIO.read(getClass().getResource("/image/calculator_198.005px_1189282_easyicon.net.png"));//相对路径 setIconImag原创 2017-10-11 22:09:11 · 370 阅读 · 0 评论 -
#Java 核心技术卷一阅读笔记# 第七章 异常、断言和日志
7.1异常异常对象均为派生于Throwable类的一个实例,Throwable类下分为Errow类和Exception类,其中Errow类以及其子类描述了Java运行时的系统错误和资源耗尽错误,Exception类又可以下分为两类,即RuntimeException和其他异常。 由程序错误导致的异常是属于RuntimeException类,包括:错误的类型转换、数组访问越界和访问null指针。原创 2017-09-28 14:18:06 · 357 阅读 · 0 评论 -
#Java 核心技术卷一阅读笔记# 第五章 继承
继承:复用这些超类中的方法和域 5.1 类,超类,子类 复用已存在的类的方法和域,关键字extends表继承。public class Manager extends Employee{}Java中所有继承都是公有继承,而C++中还有私有继承和保护继承。 通过超类扩展子类时,只需要在子类中表示出需要增加的域和方法。 子类的方法覆盖:如果继承的超类方法不适用与子类,则需要提供新的方法来覆盖原创 2017-09-21 13:39:03 · 279 阅读 · 0 评论 -
#Java 核心技术卷一阅读笔记# 第八章 泛型程序设计
8.2 泛型类泛型:具有类型参数(类型变量),可以用其他具体的类来替代此参数,从而扩大方法的实用范围以及提高程序的安全性。 泛型类:具有一个或多个类型变量的类,用具体的类替换类型变量即为实例化泛型类。public class pair<T> { private T first; private T second;原创 2017-09-29 10:57:50 · 322 阅读 · 0 评论 -
#Java 核心技术卷一阅读笔记# 第九章 集合
9.1 Java集合框架Java的集合类库是将接口与实现相分离的。以队列为例,库中只有Queue接口,而具体实现分别是ArrayDeque和LinkedList两类。 ArrayDeque 是以循环数组作为实现的,即数组的任意一点都能被看做是起点或终点。它实现了Deque接口和Queue接口,故即可以作为双端队列(首尾可添加或删除元素),也可以作为栈使用(Java不推荐使用Stack类),Arr原创 2017-10-01 10:02:02 · 336 阅读 · 0 评论 -
#Thinking in Java阅读笔记# 第二章 一切都是对象
Java中操纵对象的实际是引用。分为两步:1.创建对象变量以储存引用;2.关联引用和对象(new) 对象的存储地点: 1.寄存器:最快的储存区。数量有限,根据需求进行分配 2.堆栈:位于RAM中,对象引用与基本类型存储于其中。堆栈指针向上运动,则释放内存,向下运动则分配新内存。编译器需要知道所有项的生命周期,以便移动指针 3.堆:位于RAM中,用于存放所有JAVA对象,编译器不需要知道数据在原创 2017-10-19 10:03:34 · 250 阅读 · 0 评论 -
#Thinking in Java阅读笔记# 第三章 操作符
“别名现象”:两个指向不同对象的对象变量经赋值或方法传递指向同一变量的现象。 判断两个对象是否相等要使用equals方法,而不能直接用==/!=(基本类型适用)。如果直接用==比较的则是对象的引用,如果不指向同一个对象必然会不相同。对象默认的equals()就是比较引用,所以需要重新覆盖此方法。 直接常量的后缀:l/L表示long,f/F表示float,d/D表示double 前缀:0X/x+原创 2017-10-19 11:27:58 · 199 阅读 · 0 评论 -
#Java 核心技术卷一阅读笔记# 第十章 图形程序设计
AWT:抽象窗口工具,像事件处理这样的窗口工具箱的底层机制,其组件是由用户的窗口系统绘制,不同系统的观感不同。AWT类位于java.awt包中 Swing:“被绘制”的用户界面,组件绘制在画布上,可使不同的系统具有相同的观感,Swing类位于javax.Swing包中1.框架(JFrame)继承自AWT库的Frame类,由用户的窗口系统绘制,是用来储存组件(JComponent)的容器。 1.所原创 2017-10-10 20:46:07 · 278 阅读 · 0 评论 -
#Thinking in Java阅读笔记# 第五章 初始化与清理
5.1 用构造器确保初始化构造器是一个特殊的函数,函数名与类名相同,且无返回类型。使用new关键字调用构造器可创建对象并初始化。构造器分为无参构造器和有参构造器5.2 方法重载方法拥有相同名字但不同的参数会进行重载,参数列表一定要是独一无二的,不可以根据返回值来区分重载方法。 当方法接受较小的基本类型作为实参、而形成是较大基本类型时,实参会被自动提升,其中char会自动提升为int 如int x原创 2017-10-25 18:14:38 · 233 阅读 · 0 评论 -
#Java 核心技术卷一阅读笔记# 第十一章 事件处理
1.AWT事件处理的体系架构 事件可以分为底层事件和语义事件,其中语义事件表示用户动作的事件,底层事件表示形成那些事件的事件 并不是所有的事件都需要注册监听器(Listener) 2.基础事件处理机制:事件源是一个可以注册监听器和发送事件对象的对象,事件源一般都是相应的组件。监听器对象是一个实现了监听器接口的实例,事件源用addXXXListener()注册监听器后,当事件发生时,事件源发原创 2017-10-11 12:21:32 · 321 阅读 · 0 评论 -
#Java 核心技术卷一阅读笔记# 第十二章 Swing用户界面组件
1.模型-视图-控制器模式模型:储存内容 视图:显示内容 控制器:处理用户输入 2.布局管理1.流布局管理器(FlowLayout) JPanel对象的默认布局管理器为FlowLayout,组件加入JPanel中总是处于中央,一行可以排列多个组件,如果一行的空间容纳不下所有的组件则换行。当顶层窗口缩放时,JPanel中组件的大小不会随之缩放。 2.边框布局管理器(BorderLayout)原创 2017-10-11 23:12:37 · 602 阅读 · 0 评论 -
leetcode链表习题总结
1.链表题中经常给链表添加一个假头,使得头结点也能受到检查 2.链表的遍历通常设定一个指针指向头部,然后遍历直至指针指的结点不为NullListNode cur = head;while(cur != null){ .... cur = cur.next;}3.删除结点操作:构建两个指针,一个指针遍历链表,另一个指针紧跟后面进行删除操作ListNode fakeHead =原创 2017-10-13 10:48:18 · 2304 阅读 · 0 评论 -
权重随机算法的java实现
1.概述权重随机算法就是给出一系列数据的权重,需要随机选择其中的数据,出现的概率与数据对应的权重一致,如负载均衡,广告投放。通用解法时累积每个元素的权重,组成新的数组,然后在权重总和范围内产生一个随机数,落到哪个区间就对应哪个元素。如四个元素A/B/C/D,对应权重为1/3/5/6,随机选出数据的概率为1:3:5:6,我们对每个元素的权重进行累加,得到[1,4,9,15],所以产生一个在1到...原创 2019-08-17 10:46:58 · 634 阅读 · 0 评论