随笔分类 - Java 基础
Java SE和基础知识
摘要:Arrays 和 Collections是分别操作数组和集合的两个工具类。今天就来对 Arrays 中的内容作个总结。 一、Arrays 类概述 Arrays 类位于 java.util包中。Arrays 继承 Object java.lang.Object ↳ java.util.Arrays A
阅读全文
摘要:其实 Java 集合框架也叫做容器,主要由两大接口派生而来,一个是 collection,主要存放对象的集合。另外一个是Map, 存储着键值对(两个对象)的映射表。 下面就来说说 List接口,List存储的元素是有序、可重复的。其下有三个子接口,ArrayList、LinkedList 和 vec
阅读全文
摘要:HashMap的知识点可以说在面试中经常被问到,是Java中比较常见的一种数据结构。所以这一篇就通过源码来深入理解下HashMap。 1 HashMap的底层是如何实现的?(基于JDK8) 1.1 HashMap的类结构和成员 /** HashMap继承AbstractMap,而AbstractMa
阅读全文
摘要:引言 最近在读HashMap源码的时候,发现在很多运算符替代常规运算符的现象。比如说用hash & (table.length-1) 来替代取模运算hash&(table.length);用if((e.hash & oldCap) == 0)判断扩容后元素的位置等等。 1.取模运算符%底层原理
阅读全文
摘要:引言 String可以说是在Java开发中必不可缺的一种类,String容易忽略的细节也很多,对String的了解程度也反映了一个Java程序员的基本功。下面就由一个面试题来引出对String的剖析。 1. String在源码里究竟是如何实现的,它有哪些方法,有什么作用? 从源码可以看出,Strin
阅读全文
摘要:switch语句是一个很容易忽略的语法点,在表达式支持的类型上也犯过很多错,今天就来整理一下 switch语句基本定义: switch (表达式){ case 值1: 语句体1; break; case 值2: 语句体2; break; ... default: 语句体n+1; break; } b
阅读全文
摘要:break 使用场景:用于各种循环语句中,跳出循环 作用: 跳出break所在的那层循环(若有多层循环,只能跳出内层) public class A{ public static void main(String args[]){ int a = 60; switch(a){ case 60: Sy
阅读全文
摘要:1.一个.java文件中可以有多个类,但是至多一个public类,因为每个编译单元(文件)只能允许有一个对外提供的公共接口供外界调用,否则会在编译时报错。而且多个类的.java文件在编译后会分别生成多个类的.class文件,编译的各个.class文件也可以分别运行实现其main方法。 1 publi
阅读全文
摘要:面向过程和面向对象的区别 面向过程(结构化程序设计) 实际上是一个面向操作过程,首先设计一系列过程(算法)来求解问题(操作数据),然后再考虑存储数据的方式(组织数据)。即程序=算法\+数据结构。对应典型的计算机语言是c。 优点: 性能比面向对象高,调用速度快,比如单片机、嵌入式开发、Linux/Un
阅读全文
摘要:数据类型1.Java程序的基本组成关键字:被Java语言赋予特定含义的单词,不能作标识符,如private。标识符:由数字、字母、$和_组成的字符串,用于引用变量。且首字母不能是数字。变量:程序执行过程中,在某个范围内其值发生改变的量。常量:在执行过程中其值不发生改变,分为字面值常量和自定义常量,如
阅读全文
摘要:Java语言技术架构JAVASE:(Java platform to Standard Edition)标准版,用于桌面级应用开发。JAVAME:(Java plataform to Micro Editon)小型版,用于电子消费和嵌入式设备开发JAVAEE:(Java Platform to En
阅读全文