Java-基础
怪伽先森
在迷茫中执着前行
展开
-
Java -- 程序中代码初始化顺序
写在新年之前,还有一个半小时就新年了,2017,祝大家新年快乐。现在的我依旧迷茫,但我依旧在迷茫中执着前行,曾经放弃过,但现在一直坚持,也希望所有的和我一样的菜鸟们,不要放弃自己。为了所爱的人和事情,加油吧1. 实例化对象时顺序在 Java 语言中,当实例化对象时,对象所在的类的所有成员变量首先要进行初始化,只有当所有类成员完成初始化后,才会调用对象所在类的构造函数创建对象。2. 初始化三原则原创 2016-12-31 22:26:21 · 458 阅读 · 0 评论 -
Java语言基础(二)
1. 字节的概念1 byte(字节) = 8 bit 1 k = 1024 byte 1 m = 1024 K2. 基本数据类型Java 是一种 强类型的语言,针对每一种数据都定义了明确的数据类型数据类型分为两种:基本数据类型引用数据类型(类、接口、数值)基本数据类型:四类八种3. 基本数据类型中要注意的地方Java 各整数类型有固定的表数范围和字段长度,其不受具体操作系统的影响,以保证J原创 2017-01-08 16:05:06 · 299 阅读 · 0 评论 -
继承和接口的区别,抽象类和接口的区别
文章目录1. 继承和接口的区别1.1 面向对象的角度1.2 继承和接口使用上的区别示例2. 抽象类和接口之间的区别2.1 什么是抽象类和接口2.2 特点与区别抽象类的特点接口的特点区别参考链接主要需要解决的问题:继承和接口的区别抽象类和接口之间的区别?什么时候创建抽象类?什么时候创建接口?设计框架时该如何选择?1. 继承和接口的区别继承不需重载所有方法,接口必须实现所有方法...原创 2019-11-21 15:37:03 · 4580 阅读 · 0 评论 -
Java中的Runnable、Callable、Future、FutureTask的区别
Java中存在Runnable、Callable、Future、FutureTask这几个与线程相关的类或者接口,在Java中也是比较重要的几个概念,我们通过下面的简单示例来了解一下它们的作用于区别Runnable其中Runnable应该是我们最熟悉的接口,它只有一个run()函数,用于将耗时操作写在其中,该函数没有返回值。然后使用某个线程去执行该runnable即可实现多线程,Thread类在调用转载 2017-03-02 21:36:38 · 272 阅读 · 0 评论 -
Integer 类型与 int 的==比较
困惑的地方先贴上代码,显示让我一开始很困惑的地方package com.lizi.basic;public class IntegerDemo { public static void main(String[] args) { Integer a = new Integer(3); Integer b = 3; int c = 3;转载 2017-03-04 23:09:02 · 2993 阅读 · 2 评论 -
任意字符转换为数字
1.Integer.parseInt() String aString = "123"; int b = Integer.parseInt(aString); System.out.println(b + "");2.转换为字符串数组再运算package com.lizi.demo;public class String2Int { public s原创 2017-02-26 19:54:50 · 1370 阅读 · 0 评论 -
HashMap 与 Hashtable 的区别
1. 主要区别HashMap 是线程不安全的,Hashtable 是线程安全的HashTable的每个方法都是线程同步的,都加了synchronized修饰符,而HashMap不是HashMap在被多线程共享操作时,会有多线程的问题,最严重的问题是会死循环HashMap 允许 key==null 只允许其中一个元素 key 为null,Hashtable 则不允许Hashtable 继承自原创 2017-02-26 22:06:39 · 706 阅读 · 0 评论 -
Java 进阶 -- static 解析
1. static 关键字的用途Think in java 中的解释英文版https://www.linuxtopia.org/online_books/programming_books/thinking_in_java/TIJ304_014.htm中文 PDF链接: https://pan.baidu.com/s/12gkiaJrTubMsUOjaBSkbOw 提取码: i...原创 2019-02-12 15:45:27 · 171 阅读 · 0 评论 -
Java 进阶 -- final 解析
谈到 final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到 final 关键字。另外,Java中的 String 类就是一个 final 类,那么今天我们就来了解 final 这个关键字的用法。1. final 关键字的基本用法在Java中,final 关键字可以用来修饰类、方法和变量(包括成员变量和局部变量)。下面就从这三个方面来了解一下 final 关键字的基本用法。...原创 2019-02-13 13:25:45 · 201 阅读 · 0 评论 -
接口和抽象类的区别
//来自极客时间的学习笔记接口和抽象是面向对象的两个基本机制接口接口是对行为的抽象,是抽象方法的集合,利用接口可以达到 API 定义和实现分离的目的,并且不能实例化。抽象抽象类是不能实例化的类,用关键字 abstract 修饰,主要目的是复用代码。除了不能实例化,形式上和一般的 Java 类并没有太大区别,可以有一个或者多个抽象方法,也可以没有抽象方法。抽象类大多用于抽取相关 Java ...原创 2019-04-17 10:41:24 · 153 阅读 · 0 评论 -
Java 的 String, StringBuffer 和 StringBuilder
理解String,StringBuffer 以及 StringBuilderString, StringBuffer 和 StringBuilder 的区别String, StringBuffer 和 StringBuilder 的使用策略1. String 类String 是一个类。它是一个引用数据类型。只是在使用上很像基本数据类型。String 类的全称:java.lang.Str...原创 2019-04-22 10:29:47 · 185 阅读 · 0 评论 -
异步任务和多线程的区别
1. 相同点都可以达到避免 调用的线程 阻塞 的目的,提高软件的可响应性2. 异步操作的本质所有的程序最终都会由计算机硬件来执行,所以为了更好的理解异步操作的本质,我们有必要了解一下它的硬件基础。 熟悉电脑硬件的朋友肯定对DMA这个词不陌生,硬盘、光驱的技术规格中都有明确DMA的模式指标,其实网卡、声卡、显卡也是有DMA功能的。DMA就是直 接内存访问的意思,也就是说,拥有DMA功能的硬件在和内存进转载 2017-02-13 22:52:37 · 1516 阅读 · 0 评论 -
Java访问控制的作用
从抽象的角度来看,访问控制划分了抽象的边界。一方面从语义上明确抽象的层次化:越公开的成员越接近抽象接口,越远离具体实现(我不是很懂)另一方面从语法上施行双向保护 —— 既保护实现代码不受客户代码侵入,也保护客户代码不受实现代码变更的影响从软件应变的角度来看,访问控制划分了代码修改的边界。具体到Java上,如果修改仅仅涉及private成员,那只要检查该类的源代码即可;如果修改涉及package成原创 2017-02-14 23:10:36 · 641 阅读 · 0 评论 -
Java -- 语言特性
1. 面向对象Java 中一切皆对象,能很好地反映生活中的对象2. 平台无关性一次编译,处处运行(Java 虚拟机机制)先将 .java 后缀的源程序文件编译成 .class 结尾的字节码文件,然后不同的平台有对应的 Java 虚拟机(Windows 有 自己的 虚拟机,Linux 有自己的虚拟机),虚拟机都可以将 .class 文件解释成对应机器的机器码,这就实现了一份源码可以在不同的平坦运行原创 2016-12-09 14:18:39 · 257 阅读 · 0 评论 -
Java -- 多线程的使用
以前学习基础的时候学习了一段时间的多线程,那时候感觉学的似懂非懂。因为到现在很长一段时间没有用到多线程的知识,所以现在基本上忘了差不多了。但现在已经准备年后换工作了,所以现在要特意又研究了一下多线程,被问到就尴尬了了,哈哈 ps:刚接触的时候觉得超级难,现在好多了,嘿嘿1. 进程和线程的区别进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1–n个线原创 2016-12-22 20:42:26 · 348 阅读 · 0 评论 -
Java --- 线程同步和异步的区别
1. Java 线程 同步与异步多线程并发时,多个线程同时请求同一个资源,必然导致此资源的数据不安全,A线程修改了B线程的处理的数据,而B线程又修改了A线程处理的数理。显然这是由于全局资源造成的,有时为了解决此问题,优先考虑使用局部变量,退而求其次使用同步代码块,出于这样的安全考虑就必须牺牲系统处理性能,加在多线程并发时资源挣夺最激烈的地方,这就实现了线程的同步机制1.1 同步A线程要请求某个资源,原创 2016-12-23 15:23:37 · 24801 阅读 · 3 评论 -
Java - - 判断表达式中的括号是否正确配对
1. 算法思路1.1 把表达式转换为字符串数组,String biaoda = "(((1+(2)-6))";// 表达式char biao[] = biaoda.toCharArray();// 将字符串转化成字符数组1.2 设置一个计数器,左括号+1,右括号-1,表达式中计算完毕后,如果为0表示配对 int top = 0;// 计数,左括号 1,右括号 -1,最后总和0则匹配原创 2016-12-24 09:57:12 · 7041 阅读 · 2 评论 -
有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?
挺简单的,直接上代码了package com.tangyuan;//有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?public class Sanweishu { public static void main(String[] args) { int count = 0; int n = 0; for(int i原创 2016-12-24 11:18:05 · 571 阅读 · 0 评论 -
good and Abc”的理解
1. 代码package com.tangyuan;public class StringDemo { String str = new String("Good"); char[] ch = {'a','b','c'}; public static void main(String[] args) { StringDemo sd = new StringDemo(原创 2016-12-24 13:28:34 · 1919 阅读 · 0 评论 -
String str=new String("abc");创建了几个String对象?
网上的争论不少,分析如下:String str=new String("abc");1. 思路我们可以把上面这行代码分成String str、=、”abc”和new String()四部分来看待。String str只是定义了一个名为str的String类型的变量,因此它并没有创建对象;=是对变量str进行初始化,将某个对象的引用赋值给它,显然也没有创建对象;new String(“abc”)为什么原创 2016-12-24 14:05:54 · 2486 阅读 · 0 评论 -
集合和数组的区别
1. 数组简介可存储对象,有固定长度数组是java语言内置的数据类型,他是一个线性的序列,可以快速访问其中的元素。当你创建了一个数组时,他的容量是不变的,而且在生命周期也是不能改变的,还有JAVA数组会做边界检查,如果发现有越界现象,会报RuntimeException异常错误数组和其他容器体现在3个方面: 1.效率 – 速度较快 2.类型识别 3.可以持有primitives定原创 2016-12-27 14:29:23 · 503 阅读 · 0 评论 -
java 中间缓存变量机制
1. 面试宝典中的题目public static void main(String[] args) { int j = 0; for (int i = 0; i < 100; i++) { j = j++; } System.out.println(j); }2. 出乎意料的答案答案为0,解释如下: temp原创 2016-12-29 20:34:05 · 663 阅读 · 0 评论 -
Java 基础概念 与 简单配置配置
1. Java 是跨平台的,JVM 不是跨平台的只要在需要运行java应用程序的操作系统上,先安装一个Java虚拟机(JVM Java Virtual Machine)即可。由JVM来负责Java程序在该系统中的运行 2. JRE 与 JDKJRE(Java Runtime Environment Java运行环境) JVM 与 核心类库包括Java虚拟机(JVM Java Virtu原创 2017-01-08 11:13:37 · 220 阅读 · 0 评论 -
Java关键字 -- Super
看傲苍狼大神写的,自己算是复有所帮助能习一遍,也希望对大家1. Super 关键字在JAVA类中使用 super来引用父类的成分,用this来引用当前对象,如果一个类从另外一个类继承,我们 new这个子类的实例对象的时候,这个子类对象里面会有一个父类对象。怎么去引用里面的父类对象呢?使用super来引用,this指的是当前对象的引用,super是当前对象里面的父对象的引用。2. 代码测试class原创 2016-12-04 22:26:41 · 257 阅读 · 0 评论