Java基础
程序员Monkey
努力做好自己!!
展开
-
Java面试史上最骚的JAVA专业术语面试100问(51-100)。
前言:(面试题是根据一些朋友去面试提供的,再就是从网上整理了一些)前面更新了1-50的题,正好昨天星期六放假,回家抽时间又整理了一下后面的,我真是一个辛勤的小蜜蜂。所以请给我一个小小的赞或者…不多说废话了,上菜!正文:51、什么是线程安全?52、什么是死锁?如何避免死锁?死锁是多线程中最差的一种情况,多个线程相互占用对方的资源的锁,而又相互等对方释放锁,此时若无外力干预,这些线程则一直处理阻塞的假死状态,形成死锁。举个例子,A 同学抢了 B 同学的钢笔,B 同学抢了 A 同学的书,两个人原创 2020-11-16 15:34:24 · 4408 阅读 · 8 评论 -
【吐血整理】Java Collections你必须知道的13件事情
开始:你好,早上、中午、下午、晚上好。我是Java2B哥(微信搜Java2B)。一名无缘985,日常996工程师。Java Collections Framework是Java编程语言的核心部分之一。集合几乎用于每种编程语言中。大多数编程语言都支持各种类型的集合,例如列表,集合,队列,堆栈等。文章目录开始:1.什么是Java Collections Framework?2. Java Co...原创 2020-01-14 13:58:22 · 5251 阅读 · 1 评论 -
【金九银十】HashMap图解原理与数据结构二【JDK8红黑树】
约会被拒上次给娜娜教完【金三银四】《HashMap图解原理与数据结构》之后,娜娜自信满满的去面试了。今天我约娜娜出来看电影。娜娜没心情。 娜娜面试又被虐了,辛巴哥哥很难受,因为周末没人陪我去看电影了,我决定要帮帮娜娜小姐姐。回到过去让我们来回忆下上篇我们介绍的hashmap。JDK1.8以前HashMap底层数据结构和算法: 数组+链表+哈希算法数组数组:采用一段连...原创 2019-12-31 20:05:52 · 1360 阅读 · 0 评论 -
【金三银四】HashMap图解原理与数据结构一【JDK7】
面试被虐【金三银四】HashMap图解原理与数据结构二【JDK8红黑树】你好,早上、中午、下午、晚上好。我是狮子王辛巴。一名无缘985,日常996工程师。作为一名为人民币服务的工程师,学好技术是多么重要的事情。今天跟各位老铁们详细说说日常的开发中经常用到的HashMap。怎么可能骗你,真的哦,无论我们在开发中还是在面试的时候HashMap必问好不好。上次“娜娜”去熊厂就被面试官问到...原创 2019-12-25 22:00:51 · 2289 阅读 · 1 评论 -
常见的基本流
标准输入流:BufferedReader br=new BufferedReader(new InputStreamReader(System.in));常调用输入方法:readLine(),String 网络编程接收字符的输出:PrintWriter原创 2011-09-23 09:25:12 · 944 阅读 · 0 评论 -
java中的容器类
容器的作用和概览............................................................................................................ 1Collection接口........原创 2011-09-23 09:32:09 · 1154 阅读 · 0 评论 -
java基础
第一个JAVA程序的总结和提升... 1JAVA注释... 2标识符Identifier:... 2关键字/保留字: 3JAVA基本数据类型... 4整型变量... 4浮点型... 5字符型... 6boolean类型... 6JAVA变量..原创 2011-09-23 09:36:10 · 1680 阅读 · 0 评论 -
java常见疑难问题
1、关于"=="与equals中的误区经常听到不少人说,在基础面试中,会被问及“关于'=='与equals中的区别”而不少人都是回答:"关于‘==’是只负责基本数据类型比较,和引用对象地址比较,而equals则是比较两个对象间的内容是否一样"。甚至否写面试题目的答案中也是以此作为答案。 这答案当然不是全部错误,但是有相当一部分是误区,每个类都是使用Object作为超类的,所翻译 2012-06-07 14:29:22 · 1339 阅读 · 0 评论 -
反射
反射1、获得字节码的三种方式:(引用类型)例如: String str=""; Class c1=Class.forName("java.lang.String");基础,因为在定义时不知哪个类 Class c2=str.原创 2011-09-23 09:24:20 · 685 阅读 · 0 评论 -
Object与String类
1、 java.lang.Object类。Java.lang包在使用的时候无需显式导入,编译时由编译器自动帮我们导入。2、 当打印引用时,实际上会打印出引用所指对象的toString()方法的返回值,因为每个类都直接或间接地继承自Object,原创 2011-09-23 09:21:48 · 1071 阅读 · 0 评论 -
集合遍历的几种方式
Java jdkl5.0新增的特性有:泛型、增强for循环、自动装箱和拆箱、枚举、可变参数。 集合遍历的几种方式:import java.util.ArrayList;import java.util.Iterator;import java.util.原创 2011-09-23 09:18:07 · 1110 阅读 · 0 评论 -
构造方法
构造方法(structuremethod)解析:在Java中,任何变量在被使用前都必须先设置初值.Java提供了为类的成员变量赋初值的专门功能:构造方法(constructor)构造方法是一种特殊的成员方法,构造方法:方法名与类名一样,没有返回值包括void。 注意:原创 2011-09-23 08:54:43 · 1504 阅读 · 0 评论 -
面向对象之多态
多态(polymorphic)定义:动态绑定(多态):在执行期间(不是编译期间)判断所引用对象的实际类型,根据实际类型调用其相应的方法。动态绑定帮助我们程序的可拓展性达到极致。同一类型的对象,在运行的时候表现出不同的形态。实例理解:例如有一个打飞机的游戏,里面有飞机类、子原创 2011-09-23 08:51:54 · 602 阅读 · 0 评论 -
接口与抽象类
首先,我们来看一下抽象类的概念,java编程思想中说“万物皆对象”,我们知道所有的对象都是通过类来描绘的,但是反过来却不是这样。并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。抽象类是表征我们对问题领域进行分析、设计中得出原创 2011-09-23 08:51:18 · 599 阅读 · 0 评论 -
java中堆栈和内存分配
(一)、栈、堆1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)3. 堆:存放所有new出来的对象。4. 静态域 :存放静态成员(static定义的)5. 常量池 :存放字符串常量和基本类型常量(publ转载 2012-06-11 09:16:05 · 838 阅读 · 0 评论 -
Map实现类的区别
Map集合有很多的实现子类,包括HashMap、LinkedHashMap、Hashtable、TreeMap,那么它们之间有什么区别呢,看下面的代码:package com.repair.work.action;import java.util.HashMap;import java.util.Hashtable;import java.util.Iterator;imp原创 2013-03-29 17:12:12 · 2816 阅读 · 0 评论 -
C++阶段小结
一, 输入输出函数标准输出函数cout,其语句的一般格式为Cout<<表达式;Cout<<表达式<<endl;(endl为换行符相当于‘\n’)Cout<<表达式1<<表达式2<<……<<表达式n;同理标准输入函数cin其语法格式为Cin>>表达式1>>表达式2>>表...原创 2013-03-06 11:50:17 · 1193 阅读 · 0 评论 -
java获取windows Active Directory信息
通过java原生态的api就可以获取到windows AD信息,想要了解windows Active Directory是个什么东东,自己可以查阅相关资料,一般来说windows系统安装完后可能不会自带AD查看器,我们需要通过下载软件进行update,下载地址:https://www.technipages.com/windows-install-active-directory-users-an原创 2017-10-24 11:07:19 · 2897 阅读 · 0 评论 -
java对象的浅拷贝和深拷贝
我们知道,每个对象都有拷贝其对象的能力,是因为每个对象都是一个Object子类,而Object提供clone方法,一个类实现了Cloneable接口就表示该类具备了被拷贝的能力,如果再覆写里面的clone方法就会完全具备拷贝的能力,拷贝是在内存中进行的,所以在性能方面比直接通过new生成对象要快很多,特别是在大对象的生成上,这会使性能的提升非常显著,Object提供的clone方法只是一种浅拷贝方原创 2014-12-03 12:02:14 · 2425 阅读 · 0 评论 -
hashCode与equals的区别与联系
一、equals方法的作用 1、默认情况(没有覆盖equals方法)下equals方法都是调用Object类的equals方法,而Object的equals方法主要用于判断对象的内存地址引用是不是同一个地址(是不是同一个对象)。2 、要是类中覆盖了equals方法,那么就要根据具体的代码来确定equals方法的作用了,覆盖后一般都是通过对象的内容是否相等来判断对象是否相等。没有转载 2017-02-13 10:53:15 · 715 阅读 · 0 评论 -
J2EE学习之导航--摘自黑马程序员
搞软件开发已经2年多了,才发现原来还有很多的未知点和自己需要学习的地方,下面的知识点,自己摘自一个培训机构的网站,可以做自己的知识索引,也可自己学习导航和方向,供大家参考:第一阶段:Html+CSS+JavaScript基础Html HTML语言,HTML语言背景知识、HTML全局标签、格式标签、文件标签、超链接标签、图像标签、客户端图像地图、表格标签、帧标签、表单标签、头元素、分原创 2015-02-05 11:30:03 · 1713 阅读 · 0 评论 -
改善java程序的151个建议--笔记一
一、Java开发中通用的方法和准则1、不要在常量和变量中出现易混淆的字母eg:long i=1l,这是11还是lL呢,建议使用大写的方式;2、不要让常量变成变量eg:public static final int RAND_CONST=new Random().nextInt();3、三元符的类型务必一致eg:String s=String.valueOf(i4、避免带原创 2014-12-03 17:16:02 · 1364 阅读 · 0 评论 -
聊天程序 android和swing客户端
聊天程序,swing做服务器,客户端为android和swing,可以进行相互之间的通讯,实现的功能如下图:基本思路:启动服务器: 启动服务器线程,等待客户端的连接,启动广播线程,负责向客户端发送消息 启动客户端线程,维持服务器与单个客户端的连接,负责接收从客户端发送过来的消息android和swing客户端: 登陆进入聊天室:获得与服务器连接的原创 2014-07-29 17:31:25 · 2131 阅读 · 0 评论 -
java反射机制代码
今天,自己特意复习了一下java的反射机制,对一个类中的属性、方法及构造方法通过反射机制进行操作,关于反射机制的一些概念就不多说了,大家可以看我以前的java基础博客进行了解,下面的都是一些代码:定义要操作的类(Person)及它的一个父类(Parent),然后在其里面定义了一些方法和属性:Person类:package com.xin.test;public class Pe原创 2014-04-09 17:07:33 · 2855 阅读 · 1 评论 -
java线程代码篇
以前学过的东西容易让人忘记,尤其是在工作中不怎么用到的东西,例如java基础里面的线程、反射甚至IO、网络编程这些,因为我们在做项目的时候,为了提高开发效率和项目稳定,一般会使用框架来扶持,用了框架,就是套一些东西了,把框架搭建好,然后我们根据框架定义的规范去编写我们的代码,而且很多功能在框架里面都提供了很好的技术支持,所以那些跟底层相关的知识学习的比较少,总感觉自己的技术不怎么有长进,还是得靠自原创 2014-04-17 10:31:25 · 1629 阅读 · 1 评论 -
关于IO流操作中的一些容易混淆的知识点
写这个博客,也是在网上看到的一篇帖子,上面有人提问,以前在学习IO流的时候真没去太在意这些,今天把自己尝试了一把,确实是有些容易混淆,我在这里给大家总结出来:我例举的两个对比的列子分别是放在C盘下面的:aaa.txt和aaa.png文件,实现的功能是用IO流读取写入到C盘,得到bbb.txt和bbb.png文件,相当与一个文件的复制功能,实现起来是so easy,可以用到很多方法,只是我这里使原创 2013-11-29 10:05:31 · 1723 阅读 · 0 评论 -
面向对象之接口
接口(interface)定义:接口是一种特殊的抽象类。Java中的接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。作用:Java只支持单继承,要想实现多原创 2011-09-23 08:50:24 · 883 阅读 · 0 评论 -
面向对象之抽象类
抽象类(abstractclass)定义:使用abstract关键字所修饰的类叫抽象类作用:通过继承它实现多态,后期绑定,可以为将来要实现的东西做好接口,实现重用性。为什么要使用抽象类和抽象方法?a:防止父类被实例化,因为抽象类不能被实例化b:体现多态思想:同原创 2011-09-23 08:49:47 · 781 阅读 · 0 评论 -
对象的序列化与反序列化
为什么需要序列化和反序列化:当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个Java对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为Java对象。把Java对象转换为字节原创 2011-09-23 09:33:53 · 915 阅读 · 0 评论 -
异常
异常(Exception)所有异常都是继承于Throwable的一个实例。异常:所有异常直接或间接继承Exception类分类:UncheckedException:运行时异常(Runtime Exception):写完程序后编译不会报错,所以你可以处理,也可原创 2011-09-23 09:15:06 · 547 阅读 · 0 评论 -
java中的小知识点
一、main方法解析 public static void main(String[]args) {}程序一开始执行是从main方法开始的。Public:为了让虚拟机能调用main方法。Static:不希望加载main方法的时候产生对象,所以用st原创 2011-09-23 09:04:53 · 675 阅读 · 0 评论 -
接口抽象类与内部类
1.接口(interface),接口被用来建立类与类之间关联的标准。Java code public interface ITest{ public void test();}public class TestImpl implements IT原创 2011-09-23 08:59:24 · 644 阅读 · 0 评论 -
AWT图形界面
AWT简介(了解!!) 为什么需要GUI?我们前面编写的程序命令行的,用户的体验度极差。 抽象窗口工具包(Abstract Window Tookit)是为java程序提供建立图形用户界面(Graphics User Interface GUI)的工具集。主要原创 2011-09-23 09:35:07 · 2557 阅读 · 1 评论 -
包装类
包装类(Wrapper classs):原生数据类型的对象,针对于原生数据类型的包装。所有的包装类(8个)都位于java.lang包下,java中的8个包装类分别是:Integer、Byte、Short、Double、Float、Character、Boolean、Long,他们原创 2011-09-23 09:28:43 · 870 阅读 · 0 评论 -
java中的反射机制
Java的反射机制是Java特性之一,反射机制是构建框架技术的基础所在。灵活掌握Java反射机制,对大家以后学习框架技术有很大的帮助。 那么什么是Java的反射呢? 大家都知道,要让Java程序能够运行,那么就得让Java类要被Java虚拟机加载。J原创 2011-09-23 09:26:53 · 970 阅读 · 1 评论 -
网络编程
1、 Java支持TCP和UDP协议族。TCP用于网络可靠的流式的输入与输出,UDP用于更简单、快速的、点对点的数据报模式。2、 Java使用URL(统一资源定位符)来访问网络资源,包括两个主要部分:协议标识符:HTTP、FTP、File等,资源名字:主机名、文件原创 2011-09-23 09:23:25 · 825 阅读 · 0 评论 -
方法的重载
Java中的重载定义:一个类中可以定义有相同的名字,但参数不同(参数类型或参数方法)的多个方法。调用时,会根据不同的参数表选择对应的方法。要点:方法名一样,参数不同!(参数个数不同或参数类型不同或参数顺序)方法的返回值对方法重载没什么影响,重载是由参数来决定的。不原创 2011-09-23 09:21:06 · 744 阅读 · 0 评论 -
java集合类应用
为什么要使用集合类 当你事先不知道要存放数据的个数,或者你需要一种比数组下标存取机制更灵活的方法时,你就需要用到集合类。理解集合类集合类存放于java.util包中。集合类存放的都是对象的引用,而非对象本身,出于表达上的便利,我们称集合中的对象就是指集原创 2011-09-23 09:19:38 · 681 阅读 · 0 评论 -
final关键字
final关键字:final可以修饰类、属性、方法。1、final修饰类:当一个类被一个final类所修饰的时候,表示该类是一个终态类,不能被继承。final class E{}class F extendsE //出错,E被final所修饰,不能被继承原创 2011-09-23 09:12:58 · 578 阅读 · 0 评论 -
数组
数组(Array):相同类型数据的集合叫数组。1、 定义:int[ ] a=new int[4];推荐使用 int a[]=new int[4]; int[] a={1,2,3,4}; i原创 2011-09-23 09:07:17 · 737 阅读 · 0 评论