java
一有bug就哭给你看
这个作者很懒,什么都没留下…
展开
-
java基础学习经验
今天是学习Java的第9天了,从一开始的愣头青到现在学到吐崩溃,是时候要明确下学习的方式和学习的节奏Java学什么?最近基本的java se,到具有应用意义的java ee。还有数据结构(或称集合框架)、并发技术、JVM原理三大件。然后才是git、vps等开发工具。从最简单的hello world学到保证线程安全等。什么最重要1、 明确你的目标:学java是个很模糊的词,你要确定你工作岗位...原创 2020-03-15 19:15:33 · 185 阅读 · 0 评论 -
Java中静态代码块、构造代码块
文章目录intro静态代码块格式执行时机静态代码块的作用静态代码块不能存在任何方法体中静态代码块不能访问普通变量构造代码块格式执行时机构造代码块的作用Referenceintro在学JVM加载机制中,总会遇到哪个先运行的问题。静态代码块格式在java类中(方法中不能存在静态代码块)使用static关键字和{}声明的代码块public class CodeBlock { stat...转载 2020-03-14 14:32:12 · 375 阅读 · 0 评论 -
万物之源Object类
introjava中所有的类都是继承于Object类,可见其重要性,它含有很多成员方法,让我们看下这些函数都干了些什么吧。clone()//Creates and returns a copy of this object.protected Object clone()复制类的时候用,注意,clone()又称浅拷贝,可以复制数值或基本类型,但当类中有引用变量时,只会复制引用,不会复...原创 2020-03-14 12:04:55 · 138 阅读 · 0 评论 -
Class对象
intro 且慢!这里说的Class,并非我们构造类的关键字class,而是java.lang.Class对象。在java中,一切皆对象,java有两种对象:实例对象和Class对象。每个类的运行时的类型信息就是用Class对象表示的。它包含了与类有关的信息。其实 我们的实例对象就通过Class对象来创建的。Java使用Class对象执行其 RTTI(运行时类型识别,Run-Time Ty...转载 2020-03-14 11:57:57 · 481 阅读 · 0 评论 -
访问修饰符
Reference[1] https://how2j.cn/k/class-object/class-object-modifier/295.html#nowhere原创 2020-03-13 22:19:47 · 85 阅读 · 0 评论 -
描述一下JVM加载class文件的原理机制
文章目录介绍三大步ExerciseReference介绍JVM将类加载过程分为三个步骤:装载(Load),链接(Link)和初始化(Initialize)链接又分为三个步骤,如下图所示:三大步装载:查找并加载类的二进制数据;(加载文件)链接:1.验证:确保被加载类的正确性;2.准备:为类的静态变量分配内存,并将其初始化为默认值;(静态先走)3.解析:把类中的符号引用转换为直接引...原创 2020-03-13 16:38:02 · 305 阅读 · 0 评论 -
internal()方法
String对象的intern方法会得到字符串对象在常量池中对应的版本的引用(如果常量池中有一个字符串与String对象的equals结果是true),如果常量池中没有对应的字符串,则该字符串将被添加到常量池中,然后返回常量池中字符串的引用。它遵循以下规则:对于任意两个字符串 s 和 t,当且仅当 s.equals(t) 为 true 时,s.intern() == t.intern() 才为 ...原创 2020-03-13 16:14:48 · 1702 阅读 · 2 评论 -
类之间的三种关系
文章目录intro依赖关系 uses - a聚合关系 has - a继承关系 is - a总结intro当初看住书发呆的概念,是不是有点陌生呢?依赖关系 uses - a这是最明显,最常见的一种关系。如果一个类的方法需要操控另一个类的对象,我们就说一个类依赖于另一个类。聚合关系 has - a这是最好理解的一种关系,即一个类的对象包含另一个类的对象,我们就说一个类聚合于另一个类。继承...原创 2020-03-13 15:03:51 · 337 阅读 · 1 评论 -
hashCode()
introJava中的集合有两类,一类是List,另一类是set。前者是有序的,元素可重复;后者是无序的,元素不可重复。判断集合中的元素是否重复当新加入一个元素中,首先会在集合中遍历是否存在旧元素和新元素值相等,即用equal()函数。public boolean equals(Object obj){ return (this == obj);}很明显是对两个对象的地址值进行的比...原创 2020-03-13 14:49:48 · 235 阅读 · 0 评论 -
栈与堆
文章目录Stack&heap方法区三者关系垃圾收集器ReferenceStack&heap从名字可以猜出,栈的存量小,速度大;堆的存量大,速度慢。所以,Java中基本类型的变量、对象的引用(就是地址)、函数的调用都在栈上;而对象的内容在堆上。方法区方法区通俗点理解就是虚拟机在完成类装载操作后,将class文件中的常量池载入到内存中,并保存在方法区中,三者关系垃圾...原创 2020-03-13 12:29:24 · 378 阅读 · 1 评论 -
包装类
intro刷题遇到这么一个问题:int和Integer有什么区别?what?什么是Integer?查了资料才知道是将基本类型包装成类,好以几乎纯净的面对对象编程。什么是包装类所谓包装类,就是能够直接将简单类型的变量表示为一个类,再执行变量类型的互相转换时,我们会大量使用这些类。包装类的用途集合(Map、Set、List)不允许存在基本类型变量,只能存放引用类型数据故常用包装类...原创 2020-03-12 21:43:13 · 100 阅读 · 0 评论 -
Java的常识
文章目录introJAVA历史JDK&SDKJREJava se&Java eeJava版本Referenceintro今天下Java版本是,要求下JDK9,??但我java -version的结果是java version "1.8.0_241"是不是JDK9啊?所以要学习一下JAVA的历史与常识了JAVA历史1995年5月23日,Java语言诞生1996年1月,...原创 2020-03-12 19:07:49 · 150 阅读 · 0 评论 -
Tomcat启动startup.bat一闪而关
intro在安装tomcat时,教程说得startup.bat停留才算正常。为何我的一闪而关?解决首先得在最后一行加上pasue然后再双击startup.bat,如果有错误会显示错误,百度解决就行。成功的画面Reference[1] https://blog.csdn.net/Klhz555/article/details/92833088...原创 2020-03-12 13:39:12 · 176 阅读 · 0 评论 -
Java升级
intro今天需要jdk8的java,查了以下java的banbenjava -version郁闷,居然是1.7。没办法,只好升级方法直接在Oracle下载最新版本的java就可以,安装完之后会建议你卸载旧的java。...原创 2020-03-12 13:23:48 · 119 阅读 · 0 评论 -
IO流
文章目录intro文件输入流字节流以字节流的形式读取文件内容关闭流的方式在try中关闭在finally中关闭汉字的编码方式Referenceintro输入输出流是数据处理的通道,java为之有相应的类和接口。文件输入流package stream;import java.io.file;import java.io.FileInputStream;import java.io.IO...原创 2020-03-09 21:19:49 · 83 阅读 · 0 评论 -
Lambda
文章目录intro普通方法匿名方法Lambda方式ReferenceintroLambda表达式时Java的一个重要特性,实现了函数式编程。普通方法假如要对一个容器内的元素进行筛选,普通方法就是将容器作为参数喂入函数。package lambda;import java.util.ArrayList;import java.util.List;import java.util.R...原创 2020-03-09 19:38:41 · 156 阅读 · 0 评论 -
集合框架
文章目录introArrayList类List接口ArrayListExerciseReferenceintro在python中,我们经常遇到这样的语言for element in Iterator # do some magic 哇,一个in就能变量一个数据结构,再也不用构建一个下标i进行寻址操作了。其背后是就是神奇的迭代器作用了。ArrayList类有的同学可能认为数组就是最基...原创 2020-03-09 12:50:47 · 281 阅读 · 0 评论 -
线程
文章目录intro构造线程的方法通过Runnable接口intro在Java中,程序的单位是类,但在操作层面而言,程序的单位是函数。函数决定着数据的控制、处理。而线程,就是一个控制函数运行的管家,在并行计算中,多线程可以加速程序的运行。构造线程的方法出乎意料,构造程序所需的东西都在java.lang包内。所以你无需import任何东西就可以构造多线程了。方法有三:通过实现 Runnab...原创 2020-03-08 21:40:26 · 80 阅读 · 0 评论 -
@Override
intro又是一个java标签,废话不多说,学习吧@Override表示方法重写。好处作为注释,帮助自己检查是否正确的复写了父类中已有的方法。便于别人理解代码编译器可以给你验证@Override下面的方法是否是你父类所有的,如果没有则报错。Reference[1] https://www.cnblogs.com/ttzz/p/8455325.html...原创 2020-03-08 21:27:51 · 71 阅读 · 0 评论 -
异常处理
文章目录introException类try,catch捕获finaly关键字throws/throw关键字组合拳Referenceintrodebug的重要方法就是对程序的异常进行报错、处理。而捕获、处理、抛错就是著名的异常处理三大步。Exception类Excetption类提供错误类的数据结构,当系统发生错误,会将错误类型(异常)抛出,能被catch捕获。错误类型以Exceptio...原创 2020-03-08 10:34:43 · 129 阅读 · 0 评论 -
default关键字
文章目录introdefault关键字Referenceintro又是Java8的特性,接口中使用,开学吧!default关键字又称Virtual extension methods,虚拟扩展方法。即方法能有实现(也就是接口中的可以包含方法体)。那不就相当于一个普通函数,接口也就相当于一个普通类了。// in myInterface.javapublic interface myInt...原创 2020-03-07 22:52:25 · 1194 阅读 · 0 评论 -
@FunctionalInterface
intro在学线程时,Runnable接口有@FunctionalInterface这样一行,废话不多说,开学!package java.lang;@FunctionalInterfacepublic interface Runnable{ public abstract void run();}编译级注释@就是编译级注释,增加新的要求,加强编辑器检查错误。类似于dot net的...原创 2020-03-07 22:21:48 · 243 阅读 · 0 评论 -
为什么java的接口不能定义静态方法
文章目录intro接口是没有例化的@FunctionalIterfaceReferenceintro在学习@FunctionalIterface时,发现了java接口不能定义静态方法,我们来想下为什么吧!接口是没有例化的接口是对类的规范,唯一的作用是被类继承,所以规定了没有例化。那么当接口myInterface具有一个静态方法Add()时,其被两个类A,B继承。根据静态方法的特性,我无需例...原创 2020-03-07 22:19:14 · 1401 阅读 · 1 评论 -
Java有没有虚函数?
文章目录inro虚函数的定义Java有没有虚函数拓展Referenceinro在学Java的抽象函数时,我不禁想起了虚函数这个概念,想知道Java有没有虚函数,话不多说,开学!虚函数的定义在某基类中声明为 virtual 并在一个或多个派生类中被重新定义的成员函数,并且通过指向派生类的基类指针或引用,访问派生类中同名覆盖成员函数。很明显,虚函数的特性与指针有关,让我们先看一小段C++代码...转载 2020-03-07 16:15:03 · 687 阅读 · 1 评论 -
多态
文章目录intro父类定义子类构建接口定义实现类构造抽象类定义实体类构造方法重载方法重写Referenceintro语言最重要的就是语言的多态了。多态可以用“三个定义和两个方法”来总结。三个定义分别是父类定义子类构建、接口定义实现类构建和抽象类定义实体类构建(统称继承),而两个方法分别是方法重载和方法重写。父类定义子类构建class Shape{ public void draw(){...原创 2020-03-07 15:55:28 · 108 阅读 · 0 评论 -
import与package
intro初学java可能会在代码开头遇到这样的一句话package com;c/c++是没有package这个关键字的,废话不多说,开学!import和C/C++的#include一样,import是为了导入外部程序包,这样就不用写麻烦的作用域了!packagepackage就是把你现在所编写的程序,放在名为com的作用域中。栗子首先,CLASSPATH环境变量包含了F:/W...原创 2020-03-07 09:15:52 · 248 阅读 · 0 评论 -
控制流程
文章目录intro例子例子2break嵌套loopflag变量标签Referenceintro循环永远实现你编程的第一选择,毕竟我们处理的都是多维数据,让我们从一个简单的100以内(包括100)的整数相加开始吧!例子1到100以内整数相加public class HelloWord{ public static void main(String[] args) { int i = ...原创 2020-03-06 17:49:45 · 113 阅读 · 0 评论 -
Scanner类
文章目录Intro例子ReferenceIntrocmd交互最基础就是从键盘接收用户的操作例子import java.util.Scanner;public class HelloWord {public static void main(String[] args) {Scanner s = new Scanner(System.in)float a = s.nextFloat(...原创 2020-03-06 17:34:23 · 86 阅读 · 0 评论 -
类
文章目录intro初始化一个类基本元素惯例例化一个类练习属性及方法惯例练习Referenceintro面对对象的核心、变量及函数的容器、程序操作的对象。初始化一个类基本元素访问类型名字内容pubilc class Myclass{ String var1; float var2; int var3;}惯例类的第一个字母大写例化一个类ClassVar = n...原创 2020-03-06 17:28:25 · 290 阅读 · 0 评论