Java基础知识拾遗(四)】的更多相关文章

1.Runnable对象 启动线程:(new Thread(new MyRunnable()).start() 2.jsp中<%@ page language="java" import="java.util.*" errorPage="error.jsp" isErrorPage="false" %>  改页面不能使用exception对象 3.枚举 enum AccountType { SAVING, FIXE…
类型提升规则 Java定义了几个应用于表达式的类型提升规则:所有byte.short和char类型的值都被提升为int类型.如果有一个操作数是long类型,将这个表达式提升为 long 类型:如果有一个操作数是float类型,就将整个表达式提升为float类型:如果任何一个操作数为double类型,结果都为double. break 语句作为goto语句的一种形式 break语句可以用于提供goto语句的一种“文明”形式.Java没有提供togo语句,因为goto语句可以随意进入另外一个程序分支…
自己写一个简单的Map 清浅池塘 程序员,专栏:Java那些事儿唯一作者,咨询前请先点详细资料   130 人赞同了该文章 许多许多年以前,在自学Java的时候,笔者曾经写过一个简单的Map,当年很有成就感,拿出来博大家一笑. Map的实现其实很简单,一个key对应一个value就行 定义一个MyMap类 声明一个Node数组用来存放元素,一个size来记录Map的逻辑长度,看一下Node类,Node类位于MyMap类的内部 该类为内部静态类,只能在MyMap类里访问,定义了一个key,一个va…
IO SequenceInputStream,允许链接多个InputStream对象.在操作上该类从第一个InputStream对象进行读取,知道读取完全部内容,然后切换到第二个InputStream 知道最后一个InputStream对象的末尾文职.到达每个文件末尾是,与之关联的流就会被关闭. ObjectOutput接口,支持对象序列化.ObjectOutputStream实现了ObjectOutput接口,负责将对象写入流中. ObjectInput接口,支持对象串行化.ObjectInp…
Java内存管理:深入Java内存区域 上面的文章对于java的内存管理机制讲的非常细致,在这里我们只是为了便于后面内容的理解,对java内存机制做一个简单的梳理. 程序计数器:当前线程所执行的字节码的行号指示器,虚拟机下一条需要执行的字节码指令,分支.循环.跳转.异常处理.线程恢复等基础功能都需要依赖改变这个计数器的值来完成. 栈:保存局部变量.引用,方法调用结束即被释放.每个方法被执行的时候都会同时创建一个栈帧(Stack Frame)用于存储局部变量表.操作栈.动态链接.方法出口 等信息.…
四.String public final class String extends Object implements Serializable, Comparable<String>, CharSequence String 类是final类,不能被继承. String 类代表字符串.Java程序中的所有字符串字面值(如“abc”)都作为此类的实例实现. 字符串是常量:它们的值在创建之后不能更改.字符串缓冲区支持可变的字符串.因为 String 对象是不可变的,所以可以共享. public…
集合框架 SortedSet接口,声明了以升序进行排序的行为. Queue接口,声明了队列行为,队列通常是先进先出的列表 Deque接口,扩展了Queue接口,声明了双端队列的行为.双端队列可以像标准队列那样先进先出,也可以像堆栈那样后进先出. LinkedHashSet,维护组中条目的一个链表,链表中条目顺序也就是插入他们的顺序,这使得可以按照插入顺序迭代集合. EnumSet,专门用于枚举类型的元素. 集合迭代器Spliterator,用于循环遍历元素序列,他支持并行迭代,即使用不到并行编程…
1.正则表达式的概述和简单使用 * A:正则表达式(一个字符串,是规则)     * 是指一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串.其实就是一种规则.有自己特殊的应用. * B:案例演示     * 需求:校验qq号码.         * 1:要求必须是5-15位数字         * 2:0不能开头         * 3:必须都是数字     * a:非正则表达式实现         * 困难重重      * b:正则表达式实现         * String…
1.类加载 bootstrap classloader -引导(也称为原始)类加载器,它负责加载Java的核心类. extension classloader -扩展类加载器,它负责加载JRE的扩展目录(JAVA_HOME/jre/lib/ext或者由java.ext.dirs系统属性指定的)中JAR的类包. system classloader -系统(也称为应用)类加载器,它负责在JVM被启动时,加载来自在命令java中的-classpath或者java.class.path系统属性 或者…
1.finally public static int func (){ try{ return 1; }catch (Exception e){ return 2; }finally { return 3; } } public static int func (){ try{ throw new Exception(); }catch (Exception e){ return 2; }finally { return 3; } } 返回值均为3;这表明finally块的代码会在正常retu…
Java Threads 1. 创建线程的三种方法? 继承Thread类: 实现Runnable接口: 使用Executor框架创建一个线程池. 每个线程都有优先级(Thread.MAX_PRIORITY = 10, Thread.NORM_PRIORITY = 5, Thread.MIN_PRIORITY = 1),新产生线程的优先级默认等于产生它的优先级. JVM启动后,将会产生一个非守护线程(non-daemon thread,通常被称为main),JVM会一直运行直到:a) Runtim…
Lambda表达式 lambda表达式本质上就是一个匿名方法.但是这个方法不是独立执行的,而是构成了一个函数式接口定义的抽象方法的实现,该函数式接口定义了它的目标类型. 只有在定义了lambda表达式的目标类型的上下文中,才能使用该表达式.当把一个lambda表达式赋给一个函数式接口引用时,就创建了这样的上下文. interface MyNumber { double getValue(); } MyNumber myNum ; myNum = () -> 12; lambda表达式会导致产生一…
本文发表于本人博客. 今天我们来说说关于java继承以及反射有关的问题,大家先看下下面代码,试问可以编译通过不,为什么具体说说原因? public class Test{ public static void main(String[] args){ Person p = new Man(); p.talk(); } } class Person{ public void talk() throw NullPointerException{ System.out.println("Person…
final关键字可以用于成员变量.本地变量.方法以及类. 2. final成员变量必须在声明的时候初始化或者在构造器中初始化,否则就会报编译错误. 3. 你不能够对final变量再次赋值. 4. 本地变量必须在声明时赋值. 5. 在匿名类中所有变量都必须是final变量. 6. final方法不能被重写. 7. final类不能被继承. 8. 没有在声明时初始化final变量的称为空白final变量(blank final variable),它们必须在构造器中初始化,或者调用this()初始化…
Java基础知识陷阱系列 今天抽空把Java基础知识陷阱有关的文章汇总于此,便于大家查看. Java基础知识陷阱(一) Java基础知识陷阱(二) Java基础知识陷阱(三) Java基础知识陷阱(四) Java基础知识陷阱(五) Java基础知识陷阱(六) Java基础知识陷阱(七) Java基础知识陷阱(八) Java基础知识陷阱(九) Java基础知识陷阱(十)…
学习android必备的java基础知识--四大内部类 今天学习android课程,因为我的主专业是JAVA,但是兴趣班却有这其他专业的同学,学习android 需要具备一些java的基础知识,因此就总结了一下关于四大内部类的知识. 备注: java语言中允许类中再次定义类,这种在其它类内部定义的类叫内部类,内部类分为四种:常规内部类(成员内部类),局部内部类(方法内部类),匿名内部类,静态嵌套内部类 一.常规内部类 其实常规的内部类就是第一种(成员内部类) 当然 成员内部类由于高内聚,不对外开…
辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正. /*     * 按照面向对象的思想对字符串进行功能分类.     *      *      * 1,获取:     * 1.1 获取字符串中字符的个数(长度).     *         int length();     * 1.2 取字符串中的某一个字符,其中的参数index指的是字符串中序数.字符串的序数从0开始到length()-1 .     *       …
java  基础知识二 基本类型与运算符 1.标识符 定义:为类.方法.变量起的名称 由大小写字母.数字.下划线(_)和美元符号($)组成,同时不能以数字开头 2.关键字 java语言保留特殊含义或者特殊功能的关键词,不能用着标识符 3.注释 java代码中不会编译,帮助介绍代码的文字片段 三种注释方式,分别是单行注释(//).多行注释(/* */)和文档注释(/** */) 4.基本数据类型 基本类型有以下四种: int长度数据类型有:byte(8bits).short(16bits).int…
Java基础知识总结(超级经典) 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java语言代码把思路体现出来. 学习新技术的四点: 1,该技术是什么? 2,该技术有什么特点(使用注意): 3,该技术怎么使用.demo 4,该技术什么时候用?test. —————————————————————————————————————————————————————— 一:java概述: 19…
Java基础知识总结(超级经典) 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java语言代码把思路体现出来. 学习新技术的四点: 1,该技术是什么? 2,该技术有什么特点(使用注意): 3,该技术怎么使用.demo 4,该技术什么时候用?test. —————————————————————————————————————————————————————— 一:java概述: 19…
1.查看已安装jdk文件路径 CMD输入java -verbose.   2.java学习提升路线 java学习视屏地址: http://www.icoolxue.com/album/show/38 https://blog.csdn.net/u012954380/article/details/79568573?st_type=null 各阶段所需要看的书: <Java编程思想>,<大话设计模式>,<重构 改善既有代码的设计>,<effective java&g…
将之前的所有关于Java基础知识的随笔,整理成质量较高的十几篇随笔,几乎是好几篇比较零散的随笔合成现在的一篇,自认为还不错. java基础(一) 深入解析基本类型 java基础(二) 自增自减与贪心规则 java基础(三) 加强型for循环与Iterator java基础(四) java运算顺序的深入解析 java基础(五) String性质深入解析 java基础(六) switch语句的深入解析 java基础(七) java四种访问权限 java基础(八) 深入解析常量池与装拆箱机制 java…
转载:https://www.jianshu.com/p/6c078abb720f java基础知识 java内存模型 java运行时数据区域 hashMap 如何解决冲突 存储方式 冲突达到一定数量改用红黑树存储等 ConcurrentHashMap 段的概念 分段锁机制(读不加锁,写加锁) 大概的原理,先定位到某个段,然后段里面的操作交给hashmap try finally块的处理 -try里面return某个(引用类型 值类型),finally块对其进行操作,最后结果 synchromi…
本文引用了简书作者“骑小猪看流星”技术文章“Cookie.Session.Token那点事儿”的部分内容,感谢原作者. 1.前言 众所周之,IM是个典型的快速数据流交换系统,当今主流IM系统(尤其移动端IM)的数据流交换方式都是Http短连接+TCP或UDP长连接来实现.Http短连接主要用于从服务器读取各种持久化信息:比如用户信息.聊天历史记录.好友列表等等,长连接则是用于实时的聊天消息或指令的接收和发送. 作为IM系统中不可或缺的技术,Http短连的重要性无可替代,但Http作为传统互联网信…
一.java基础知识 1.一个文件中只能有一个public的类,因为他的类名要求和文件名相同. 2.classpath变量可以设置其它目录下的类. 例如:类文件所在目录是:F:\Javajdk,那么没有设置classpath变量时,在F:\下是访问不到类文件的.可以通过以下方式设置classpath变量,就可以访问不同目录的文件(注意classpath变量中等号的左边和右边的目录文件名称中间是不能有空格,例如一个名为“my Java”的文件夹是不可以的): a.当前目录为F:\的目录下,设置 s…
为什么java的主函数入口必须是public static void main (String[] args); 很多写javaEE好几年的程序员经常会记得java的主函数就是这么写的,但实际上为什么这么写大都已经忘记. 由于每天被各种框架,各种技术包围,所以出现了一种知道怎么用但不知道为什么这么用的情况. java的主函数是一个java基础知识的大综合,在面试中,从这里就能看出程序员的基础知识掌握程度. 一.是不是所有的类都可以有主方法?如果是,为什么?如果不是,那么在什么类中可以有主方法.…
Java基础知识总结(超级经典) 转自:百度文库 黑马毕向东JAVA基础总结笔记    侵删! 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java语言代码把思路体现出来. 学习新技术的四点: 1,该技术是什么? 2,该技术有什么特点(使用注意): 3,该技术怎么使用.demo 4,该技术什么时候用?test. ------------------------------------…
虽然写代码也有一定的年头了,但是对于一些基础概念,还是很模糊.这在后来的学习过程中,带来了很大的痛苦,所以痛定思痛,决心重新学习这些概念.并把自己的理解和查询的资料做一些整合,便于以后查阅! 一.什么是TCP/IP? TCP/IP协议是一个协议集合,包括我们常见的HTTP协议.IP协议.TCP协议.DNS协议等,都属于TCP/IP协议. 要想知道TCP/IP是什么,我们首先要知道为什么要有这个协议?拿一个生活中简单的例子来说,如果我们想做一个柜子,那我们就要告诉木匠,柜子要多高.多宽.多长,样式…
知识回顾 进程与线程是常常被提到的两个概念.进程拥有独立的代码段.数据空间,线程共享代码段和数据空间,但有独立的栈空间.线程是操作系统调度的最小单位,通常一个进程会包含一个或多个线程.多线程和多进程都可以实现并发处理,如 nginx 使用多进程方式.tomcat 使用多线程方式.Apache 支持混合使用.在 C/C++ 等语言中可以同时使用多进程和多线程,而在 Java 中只能使用多线程. 在 Java 中,创建线程的唯一方式是创建 Thread 类的实例,调用实例的 start() 方法启动…
写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能帮助大家.大致的结构: 1.[Java面向对象] 2.[Java集合详解] 3.[Java IO相关操作] 4.[Java 8函数编程] 5.[常用设计模式] 6.[Spring MVC] 7.[MyBatis] 8.[Vue.js] 9.[Spring Boot] 10.[实例(结合Spring…