
Java基础
Hurricane_m
这个作者很懒,什么都没留下…
展开
-
2021-03-21
看到同事在讨论 关于Integer的常量池有关问题,看了源码以后 想着改一下最大值参数,然而网上所有关于找个参数 却是长找个样子-XX:AutoBoxCacheMax=size然鹅 = = = 报错Unrecognized VM option 'AutoBoxCacheMax=256'Error: Could not create the Java Virtual Machine.Error: A fatal exception has occurred. Program wi...原创 2021-03-21 14:14:38 · 271 阅读 · 0 评论 -
Java基础之 String字符串
字符串的初始化赋值方式 1.字符串可以通过 直接赋值为 字符串常量;(直接给定的字符串就是字符串常量) String str = "Hello"; 2.字符串可以通过使用new String("初始化字符串") 方式进行初始化赋值 String str = new String("Hello"); 字符串在内存中的存储方式 1.java中常量都是存放在常量池中的(栈结...转载 2019-03-28 15:53:46 · 283 阅读 · 0 评论 -
Java语法基础及面向对象思维导图
原创 2019-04-07 21:28:02 · 978 阅读 · 0 评论 -
Java基础之 Comparable和Comparator的区别
在网上看了很多关于Comparable 和 Comparator的区别 感觉最清晰的一篇文章是五月的仓颉这位大牛总结的博客。结合自身代码总算懂了一点。但是还是遇到了一个问题。直到亲自解决掉这个问题,这两个接口的区别我才算真正搞清楚。先从概念出发。将大牛总结的博客搬过来Comparable和Comparator的区别前言初次碰到这个问题是之前有一次电话面试,问了一个小时的问题,...原创 2019-04-16 11:23:12 · 232 阅读 · 0 评论 -
JDK1.5 为增强for循环而生的 Iterable接口
迭代器(Iterator)概念:在java里面有一个接口:Iterator。java里面有很多集合,每种集合元素存储的方式不一样,取的方式可能也不一样。每一个都学习怎么获取很不现实,这时候就出现了迭代器,实现了Iterator迭代器接口的集合 就有了统一的功能 迭代(遍历)如何获得一个迭代器1.因为迭代器是Java为了给集合(and数组)给定统一的遍历的行为规范,所以C...原创 2019-04-15 11:25:51 · 438 阅读 · 0 评论 -
半深入理解Java属性继承
转载地址:https://www.cnblogs.com/levi1994/p/5568433.html好文推荐:http://www.cnblogs.com/111testing/p/6880831.html前几天在面试的时候又被问到了一个问题,“Java重写和重载有什么区别?”。这个问题在Java领域是一个老生常谈的问题了,事实上我认为这两个东东除了中文名长得很像以外(英文名好像...转载 2019-04-23 22:40:35 · 234 阅读 · 0 评论 -
java 基本数据类型及自动类型提升
1.Java的8种基本数据类型及其所占空间大小:----------------------------------- boolean 8bit/1byte----------------------------------- byte 8bit/1byte----------------------------------- char ...转载 2019-04-24 19:42:32 · 315 阅读 · 0 评论 -
Java的位运算符——与(&)、非(~)、或(|)、异或(^) 及 移位运算符
位运算符位运算符主要针对二进制,它包括了:“与(&)”、“非(~)”、“或(|)”、“异或(^)”。从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算。下面详细介绍每个位运算符。1.与运算符 &与运算符用符号“&”表示,其使用规律如下:两个操作数中位都为1,结果才为1,否则结果为0,...原创 2019-04-24 20:35:46 · 339 阅读 · 0 评论 -
java二维数组两种初始化方法
写这篇博客的原因是因为从大一学习c语言开始 就对二维数组的声明 和初始化 一直没有搞懂。。。。直到学到了Java依旧搞得不是很清楚。先看一道Java的基础题这道题 错误的选项 是 B.二维数组的初始化的两种方式看了很多网上的博客,大部分都说是三种初始化的方式,我这里将其归为两种,有不同想法的小伙伴可以留言讨论。什么是二维数组:数组是一个容器,用来存储数据的。现在数组中存...原创 2019-04-25 00:06:39 · 48990 阅读 · 7 评论 -
java中的IO流是什么
引用百度回答中一位前辈的话,我个人觉得清晰明了我给你打个比方你就明白了;比如你家的水龙头的管道就是一个流:流又分为输入输出流,输入流就是你家水龙头抽水库水的那头(FileInputStream:将水抽到管道里面),输出流就是你家水龙头流到你家大水缸的那头(FileOutputStream:将水流到缸里)。现在有个A.txt文件,你要读取里面的信息,就相当于水龙头抽水库水到管道(FileI...原创 2019-05-16 01:06:54 · 272 阅读 · 0 评论 -
日期转换工具类
核心:日期转换器 SImpleDateFormat日期对象转换成字符串 strDate = new SimleDateFormat("格式参数").format(date);字符串转换成日期对象 data = new SimpleDateFormat("格式参数").parse(strDate);import java.text.ParseException;import ...原创 2019-05-22 21:48:42 · 707 阅读 · 0 评论 -
Java中如何获取当前系统时间的字符串格式(工具类)
package com.meng.topgun.utils;import org.junit.jupiter.api.Test;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;/** * @author meng */public class StringT...原创 2019-07-01 21:02:08 · 6835 阅读 · 1 评论 -
is - a和 has - a
OOP编程思想中,继承是一个十分重要的内容。下面介绍几个 常见的容易混淆的术语。首先举例子:我们常见的动物,羊有很多种类,只是一种泛指,绵羊是其中一种,那么羊和绵羊的关系,就是is-a,即它们是继承的关系。再如,羊身上都有羊毛,而不同种类的羊,羊毛生物形态也不同,比如绵羊和羚羊,前者羊毛丰富、蓬松、柔软,呈白...转载 2019-03-28 14:38:35 · 463 阅读 · 0 评论 -
Java基础之 Collection 和 Collections 的区别
1、java.util.Collection 是一个集合接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。Collection接口可以实例化Collection├List│├LinkedList│├ArrayList│└Ve...原创 2019-04-01 10:10:43 · 216 阅读 · 0 评论 -
Java基础之 浮点类型详解
为什么float占四个字节 Long占八个字节 但是为什么float类型表示的范围却要比Long类型表示的范围大呢?因为float类型有着她独特的存储方式 与整形是截然不同的 下图为浮点数类型存储数据的方式参考:https://blog.youkuaiyun.com/weiguishan/article/details/43889101上图中的尾数位 我个人理解成底数位...原创 2019-03-24 20:40:07 · 653 阅读 · 0 评论 -
Java基础之 异或运算(变量交换 及其陷阱)
如果实现 两个变量的交换 不借助中间变量如何交换呢原理:异或运算 相同位为0 不同位为1a: 0000.....00001010b: 0000.....00000001a^b: 0000.....00001011 a^b 这个结果相当于一面镜子 通过a可以反射得出b 通过b也可以反射得出a例如 b^(a^b)--...原创 2019-03-24 21:09:35 · 574 阅读 · 0 评论 -
Java 中为什么static方法中不能使用this关键字
static叫静态方法,也叫类方法。即在程序启动的时候,就会为static方法分配一块内存空间没有static的其他方法,非静态方法,必须在类实例化时,才有内存空间,所以在类实例化之前是无法调用的jvm有类加载器,第一次加载类时执行类中的static域,jvm会专门划分一个内存区域给static程序块,可以成为静态区。属于这个类。this指针是指向类的对象,在实例化对象时jvm会在堆区分...原创 2019-03-29 19:02:00 · 4374 阅读 · 1 评论 -
Java中 abstract和final 不能共存!!!
abstract & finalabstract抽象类的意义:为什么叫抽象类?是因为我们在java中定义的类对应到实际生活中就是个抽象的东西,抽象的含义就是人类难以想象的东西,非具体的东西。而抽象类的目的就是不能进行具体描述一个对象,所以抽象类不能实例化!对类修饰而言:抽象类中可以含有抽象方法和普通方法。而反过来,有抽象方法,那么一定是抽象类。因为抽象方法的目的就是让...转载 2019-03-29 19:17:19 · 1794 阅读 · 0 评论 -
Java中的属性覆盖 向上转型之后调用子类的变量(与父类中变量同名) 方法的问题
先上代码public class Son extends Father { public int i = 100; public void show() { System.out.println("子类 方法!!!"); } public static void main(String[] args) { Father son = new Son(); son.sh...原创 2019-04-03 22:28:42 · 4938 阅读 · 1 评论 -
Java 面向对象中执行顺序的问题
顺序为:父类的静态成员赋值和静态块(静态块和静态成员的顺序为,谁在前面谁先执行(在不出错的情况下)子类的静态成员和静态块父类的构造方法父类的成员赋值和初始化块父类的构造方法中的其它语句子类的成员赋值和初始化块子类的构造方法中的其它语句...原创 2019-04-04 10:31:27 · 322 阅读 · 0 评论 -
Java基础之 8进制数和16进制数的表示方法
由于数据在计算机中的表示,最终以二进制的形式存在,所以有时候使用二进制,可以更直观地解决问题。但,二进制数太长了。比如int 类型占用4个字节,32位。比如100,用int类型的二进制数表达将是:0000 0000 0000 0000 0110 0100面对这么长的数进行思考或操作,没有人会喜欢。因此,C,C++,以及java中 没有提供在代码直接写二...转载 2019-03-26 19:52:51 · 3279 阅读 · 0 评论 -
java 基础之 a&b与a&&b的区别 a|b与a||b的区别 break、continue
1、逻辑运算符a&b与a&&b的区别:a&b——a与b都计算,a&&b——先计算a如果a为false则不计算b。 (&&可造成逻辑短路)a|b与a||b的区别:a|b——a与b都计算,a||b——先计算a如果a为true则不计算b。 (||可造成逻辑短路)2、break、continue、returnbreak结...原创 2019-03-26 21:16:22 · 10403 阅读 · 0 评论 -
Java基础之 进制转换 补码 反码 原码
(不知道为什么打印输出顺序有问题 所以我做了标记 方便阅读)在Java中 整数类型 都是以补码的形式存储补码: 反码 + 1反码: 在原码的基础上符号为不变 逐位取反原码:人类计算的二进制真值 正数原码=补码=反码 Integer.toBinaryString() 输出的结果是计算机内存中真正存储的形式(补码)例如计算-11的补码:-11 原码:...原创 2019-03-24 11:28:53 · 721 阅读 · 0 评论 -
迭代器
原创 2019-03-31 13:46:07 · 148 阅读 · 0 评论 -
静态语句块 构造语句块 和构造函数执行顺序
public class HelloA { //构造方法 public HelloA(){ System.out.println("Hello A!父类构造方法"); } //非静态代码块 { System.out.println("i'm A class.父类非静态代码块"); } //静态代码块 static{ System.out.println("static...原创 2019-04-04 23:00:33 · 328 阅读 · 0 评论 -
Java基础之 位移运算(另类的乘除法)
从上图可以看出 8 3 4 2 之间一定存在某种关系; 由下图来解释位移运算在计算机的世界中 数字全部以二进制进行存储3<<3 大于小于号箭头所指的方向 就是位移的方向3左移三位 就是将整个数位向左平移动三位,空出的位置 补0. 结果为 3<<3 =(2^4 *1 + 2^3 *1) = (2^1+2^0) *...原创 2019-03-24 19:00:25 · 1302 阅读 · 0 评论