java
文章平均质量分 91
fan__lee
向前走,不回头
展开
-
Java再学进程の并发基础
并发基础线程的基本概念创建线程线程的基本概念创建线程线程表示一条单独的执行流,他有自己的程序执行计数器,有自己的栈。创建线程的两种方式:继承Thread和实现Runnable接口【1】继承TheadJava中java.lang.Thread这个类表示线程,一个类可以继承Thread并重写run方法来实现一个线程:package lianxi.xiancheng;import java.lang.Thread;public class HelloThread extends Thread原创 2020-11-20 11:04:43 · 181 阅读 · 0 评论 -
Java中级/线程
文章目录启动一个线程线程概念创建多线程-继承线程类创建多线程-实现Runnable接口创建多线程-匿名类创建多线程的三种方式顶折纠问启动一个线程多线程即在同一时间,可以做多件事情。创建多线程有3种方式,分别是继承线程类,实现Runnable接口,匿名类线程概念首先要理解进程(Processor)和线程(Thread)的区别进程:启动一个LOL.exe就叫一个进程。 接着又启动一个DOTA.exe,这叫两个进程。线程:线程是在进程内部同时做的事情,比如在LOL里,有很多事情要同时做,比如"盖伦”原创 2020-11-19 10:51:58 · 598 阅读 · 0 评论 -
java深入理解の剖析String和StringBuilder
文章目录1、基本用法2、走进String内部(基于Java 7)3、编码转换4、不可变性5、常量字符串6、hashCodejava中处理字符串的主要类是String和StringBuilder,我们分别介绍String的基本用法和原理,分析String的不可变性,常量字符串、hashCode和正则表达式1、基本用法定义String:'通过常量定义String变量:'String name = "Fan";'通过new创建String变量:'String name = new String("原创 2020-11-11 15:02:28 · 407 阅读 · 1 评论 -
java深入理解包装类の剖析Integer与二进制算法
文章目录原创 2020-11-09 10:09:17 · 331 阅读 · 0 评论 -
Javase 基本类型与引用类型比较以及存储
文章目录JVM内存区域的组成基本类型和引用类型:数据类型存储细节JVM内存区域的组成想要弄懂基本类型与引用类型以及他们的存储,就要先知道java中内存区域分为什么:1)【内存区域的划分】1、栈内存在函数中定义的基本类型变量(即基本类型的局部变量 int a;中的a变量)和对象的引用变量(即对象的变量名Person p;中的p)都在函数的栈内存中分配;2、堆内存堆内存用来存放由new创建的对象和数组以及对象的实例变量(即全局变量)(堆中不存放基本类型和对象引用,只存放对象本身 )其中对象的引原创 2020-10-28 10:26:19 · 298 阅读 · 0 评论 -
java EE/Filter
文章目录Filter概念中文处理使用servlet的局限性登录验证在Servlet中进行登陆验证的局限性使用FIlter处理配置web.xml问题,拦截了login.jsp上如果有图片,js和cssFilter概念Filter就像一个一个哨卡,用户的请求需要经过Filter,并且可以有多个过滤器 .开发一个简单的FirstFilter,用来打印用户访问ip地址和访问的页面HttpServletRequest request = (HttpServletRequest) req;doFilter原创 2020-10-21 10:00:26 · 130 阅读 · 0 评论 -
Java中级/集合框架2
其他集合框架集合框架-二叉树集合框架-二叉树二叉树由各种节点组成二叉树特点:每个节点都可以有左子节点,右子节点每一个节点都有一个值二叉树定义:package collection; public class Node { // 左子节点 public Node leftNode; // 右子节点 public Node rightNode; // 值 public Object value;}二叉树排序-插入数据(对应数据结构二叉排序原创 2020-10-19 19:59:44 · 161 阅读 · 0 评论 -
eclipse的一些问题
文章目录自动补全自动补全之后,取消补全取消空格补全只设置回车补全输入.或者字母不会补全,属性缺失了自动补全设置自动补全:打开eclipse依次点击Window --> Perferences --> Java --> Editor --> Content Assist自动补全之后,取消补全有时候输入一个变量,后面就出来了默认补全,又不想用,按空格,回车都会补全,就很烦。。取消空格补全想取消空格补全,就要改源码,就又很烦,麻烦。而且现在org.eclipse.jfac原创 2020-10-09 14:19:32 · 214 阅读 · 0 评论 -
服务器/Tomcat
Tomcat如何启动TOmcat部署一个网页8080是什么tomcat改端口80端口被占用:问题排查点击`startup.bat`之后,屏幕一闪而过Tomcat可以成功启动,但是就是不能访问自己配置的web应用,老是提示404错误屏幕一闪而过,或者不会关闭,但是提示大量错误,其中会看到如图所示的Address already in use: JVM_Bind :80,即表示端口被占用了Tomcat是常见的免费的web服务器.Tomcat 这个名字的来历,Tomcat是一种野外的猫科动物,不依赖人类,独原创 2020-10-07 13:40:21 · 780 阅读 · 0 评论 -
Java高级/反射机制
反射机制获取类对象什么是类对象获取类对象获取类对象的时候,会导致类属性被初始化创建一个对象创建一个对象练习-通过配置文件获取对象访问属性TestRelectiongetField和getDeclaredField的区别调用方法反射机制有什么用业务类非反射方式反射方式获取类对象类对象概念: 所有的类,都存在一个类对象,这个类对象用于提供类本身的信息,比如有几种构造方法, 有多少属性,有哪些普通方法。什么是类对象在理解类对象之前,先说我们熟悉的对象之间的区别:garen和teemo都是Hero对象,他原创 2020-09-29 18:46:20 · 390 阅读 · 0 评论 -
Java基础/数组
文章目录数组:创建数组数组赋值数组排序:增强型数组for(int each : 数组名){...}复制数组二维数组Arrays 数组工具类数组:创建数组数组是一个固定长度的,包含了相同类型数据的 容器声明数组:int[] a;声明了一个数组变量。[]表示该变量是一个数组int 表示数组里的每一个元素都是一个整数a 是变量名数组里面都是整数。但是这一句声明,不会创建数组创建数组:创建数组时候,就需要指明数组长度。new int[5]引用概念:如果变量代表一个数组,比如a,我们把a原创 2020-09-25 16:23:51 · 202 阅读 · 0 评论 -
Java中级/泛型
文章目录集合中的泛型支持泛型的类通配符总结泛型转型一般等号(=)这种表达式,大多数都是要从右边看向左边的,意思是右边赋值给左Hero h = new Hero(); ADHero ad = new ADHero(); //子类转父类 h = ad;子类赋值给父类,则ad转换成了父类,相当与h = (h) ad集合中的泛型不使用泛型带来的问题:ADHero(物理攻击英雄) APHero(魔法攻击英雄)都是Hero的子类ArrayList 默认接受原创 2020-09-20 09:32:33 · 252 阅读 · 0 评论 -
Java中级/Lambda
文章目录认识Lambda假设一个情景: 找出满足条件的Hero; 普通方法:匿名类方式Lambda方式设置eclipse以支持Lambda认识Lambda假设一个情景: 找出满足条件的Hero; 普通方法:假设一个情景: 找出满足条件的Herohp>100 && damage<50Hero.javapackage charactor; public class Hero implements Comparable<Hero>{ pub原创 2020-09-19 13:00:36 · 444 阅读 · 0 评论 -
Java中级/集合框架1
文章目录ArrayList与数组的区别List接口泛型遍历其他集合LinkedList双向链表 - Deque队列 - Queue栈ArrayList与数组的区别使用数组的局限性:如果要存放多个对象,可以使用数组,但是数组有局限性:比如 声明长度是10的数组,不用的数组就浪费了,超过10的个数,又放不下。'数组使用方法:'package j2se;import j2se.Hero;public class lian { public static void mai原创 2020-09-15 21:36:33 · 331 阅读 · 0 评论 -
Java中级/ I/O2
文章目录缓冲流使用缓存流读取数据使用缓存流写出数据flush数据流对象流控制台输出/输出缓冲流以介质是硬盘为例,字节流和字符流的弊端:在每一次读写的时候,都会访问硬盘。 如果读写的频率比较高的时候,其性能表现不佳。为了解决以上弊端,采用缓存流。缓存流在读取的时候,会一次性读较多的数据到缓存中,以后每一次的读取,都是在缓存中访问,直到缓存中的数据读取完毕,再到硬盘中读取。就好比吃饭,不用缓存就是每吃一口都到锅里去铲。用缓存就是先把饭盛到碗里,碗里的吃完了,再到锅里去铲缓存流在写入数据的时候,会原创 2020-09-15 14:22:36 · 223 阅读 · 0 评论 -
Java中级/ I/O1
文章目录文件对象创建文件对象以及文件常用方法练习-遍历文件夹流字节流以字节流的形式读取文件内容:关闭流的方式字符流中文文件对象文件和文件夹都是用File代表创建文件对象以及文件常用方法创建一个文件对象:package file; import java.io.File; public class TestFile { public static void main(String[] args) { // 绝对路径 File f1 = new原创 2020-09-14 09:59:43 · 468 阅读 · 0 评论 -
Java中级/理解异常处理
文章目录异常的定义异常处理try catch使用异常的父类进行catch多异常捕捉办法finallythrowsthrow和throws的区别异常分类可查异常运行时异常错误问题:Throwable自定义异常创建自定义异常抛出自定义异常异常的定义异常定义:导致程序的正常流程被中断的事件,叫做异常文件不存在异常:比如要打开d盘的LOL.exe文件,这个文件是有可能不存在的。Java中通过 new FileInputStream(f) 试图打开某文件,就有可能抛出文件不存在异常FileNotFoundEx原创 2020-09-12 15:17:33 · 545 阅读 · 0 评论 -
Java基础/日期
文章目录日期:时间原点概念getTimeSystem.currentTimeMillis()日期格式化日期转字符串字符串转日期日期:Date类注意:是java.util.Date;而非 java.sql.Date,此类是给数据库访问的时候使用的时间原点概念所有的数据类型,无论是整数,布尔,浮点数还是字符串,最后都需要以数字的形式表现出来。日期类型也不例外,换句话说,一个日期,比如2020年10月1日,在计算机里,会用一个数字来代替。那么最特殊的一个数字,就是零. 零这个数字,就代表Java原创 2020-09-12 09:26:41 · 470 阅读 · 0 评论 -
Java基础/包装类与String
文章目录装箱拆箱封装类-Number类基本类型转封装类-封装类转基本类型自动装箱-自动拆箱字符串转换数字转字符串(ValueOf/toString)字符串转数字(Integer.parseInt(str))数学方法:格式化输出字符字符串操纵字符串比较字符串:StringBufferMyStringBuffer装箱拆箱封装类-Number类封装类:所有的基本类型,都有对应的类类型比如int对应的类是Integer这种类就叫做封装类package digit; public class Tes原创 2020-09-08 21:55:35 · 249 阅读 · 0 评论 -
java基础/抽象类、Object类及理解内部类(1万字)
文章目录super关键字调用父类构造方法调用父类属性调用父类方法Object类toString()finalize()equals()==hashCode()线程同步相关方法getClass()finalfinal修饰类(不能够被继承)final修饰方法(不能够被重写)final修饰基本类型变量(只能赋值一次)final修饰引用(引用只有1次指向对象的机会)常量抽象类:抽象类可以没有抽象方法抽象类和接口的区别内部类非静态内部类静态内部类匿名类本地类在匿名类中使用外部的局部变量默认方法super关键字调用原创 2020-09-07 14:53:15 · 164 阅读 · 0 评论 -
java基础/接口与继承1(0.96万字)
文章目录接口创建接口什么样的情况下该使用接口?对象转型明确引用类型与对象类型的概念子类转父类(向上转型)父类转子类(向下转型)没有继承关系的两个类,互相转换,一定会失败实现类转换成接口(向上转型)接口转换成实现类(向下转型)instanceof接口接口就像是一种约定,我们约定某些英雄是物理系英雄,那么他们就一定能够进行物理攻击。在设计LOL的时候,进攻类英雄有两种,一种是进行物理系攻击,一种是进行魔法系攻击这时候,就可以使用接口来实现这个效果创建接口创建一个接口 File->New-&原创 2020-09-07 09:57:48 · 581 阅读 · 0 评论 -
Java笔记/类和对象(1.5万字)
文章目录数组:创建数组数组赋值数组排序:增强型数组for(int each : 数组名){...}复制数组二维数组Arrays 数组工具类数组:创建数组数组是一个固定长度的,包含了相同类型数据的 容器声明数组:int[] a;声明了一个数组变量。[]表示该变量是一个数组int 表示数组里的每一个元素都是一个整数a 是变量名数组里面都是整数。但是这一句声明,不会创建数组创建数组:创建数组时候,就需要指明数组长度。new int[5]引用概念:如果变量代表一个数组,比如a,我们把a原创 2020-09-05 15:57:35 · 696 阅读 · 0 评论 -
java笔记-基础
文章目录编译面向对象:变量数据类型变量字面值:数据转换:变量命名变量final-表达式-块编译新建文件:新建txt,改名HelloWorld.java编译代码:命令行输入 javac HelloWorld.java生成class文件,然后再输入java HelloWorld执行编写代码:public class HelloWorld{ public static void main(String[] args){ System.out.println("Hello Java原创 2020-09-04 09:35:56 · 254 阅读 · 0 评论