自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

转载 Java工程师成神之路java基础知识之异常

Error和ExceptionException和 Error, ⼆者都是 Java异常处理的重要⼦类, 各⾃都包含⼤量⼦类。均继承自Throwable类。Error表⽰系统级的错误, 是java运⾏环境内部错误或者硬件问题, 不能指望程序来处理这样的问题, 除了退出运⾏外别⽆选择, 它是Java虚拟机抛出的。Exception 表⽰程序需要捕捉、 需要处理的常, 是由与程序设计的不完善⽽出现的问题, 程序必须处理的问题。异常类型Java中的异常, 主要可以分为两⼤类, 即受检异常( checke

2021-04-30 13:34:38 120

转载 Java工程师成神之路java基础知识之正则表达式;常用的Java工具库;API&SPI

正则表达式java.lang.util.regex.*参考资料:https://blog.csdn.net/zhengshengnan123/article/details/98724600常用的Java工具库commons.langcommons.*…guava-librariesnettyAPI&SPIAPIAPI和SPI的关系和区别Java 中区分 API 和 SPI,通俗的讲:API 和 SPI 都是相对的概念,他们的差别只在语义上,API 直接被应用开发人员使用,SP

2021-04-30 11:03:33 152

转载 Java工程师成神之路java基础知识之单元测试

原文作者:HollisjunitJUnit是一个Java语言的单元测试框架。它由肯特·贝克和埃里希·伽玛(Erich Gamma)建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中为最成功的一个。 JUnit有它自己的JUnit扩展生态圈。JUnit 促进了“先测试后编码”的理念,强调建立测试数据的一段代码,可以先测试,然后再应用。这个方法就好比“测试一点,编码一点,测试一点,编码一点……”,增加了程序员的产量和程序的稳定性,可以减少程序员的压力和花费在排错上的时间。特点:JUn

2021-04-29 16:58:19 228

转载 Java工程师成神之路java基础知识之泛型

原文作者:Hollis什么是泛型Java泛型( generics) 是JDK 5中引⼊的⼀个新特性, 允许在定义类和接⼜的时候使⽤类型参数( type parameter) 。声明的类型参数在使⽤时⽤具体的类型来替换。 泛型最主要的应⽤是在JDK 5中的新集合类框架中。泛型最⼤的好处是可以提⾼代码的复⽤性。 以List接⼜为例,我们可以将String、 Integer等类型放⼊List中, 如不⽤泛型, 存放String类型要写⼀个List接口, 存放Integer要写另外⼀个List接口, 泛型可

2021-04-29 11:33:19 267

转载 Java工程师成神之路java基础知识之注解

元注解说简单点,就是 定义其他注解的注解 。 比如Override这个注解,就不是一个元注解。而是通过元注解定义出来的。@Target(ElementType.METHOD)@Retention(RetentionPolicy.SOURCE)public @interface Override {}这里面的 @Target @Retention 就是元注解。元注解有六个:@Target(表示该注解可以用于什么地方)、@Retention(表示再什么级别保存该注解信息)、@Documented

2021-04-29 09:37:06 62

转载 Java工程师成神之路java基础知识之序列化(二)

原文作者:HollisserialVersionUID序列化是将对象的状态信息转换为可存储或传输的形式的过程。我们都知道, Java对象是保存在JVM的堆内存中的, 也就是说, 如果JVM堆不存在了, 那么对象也就跟着消失了。⽽序列化提供了⼀种⽅案, 可以让你在即使JVM停机的情况下也能把对象保存下来的⽅案。 就像我们平时⽤的U盘⼀样。 把Java对象序列化成可存储或传输的形式( 如⼆进制流) , ⽐如保存在⽂件中。 这样, 当再次需要这个对象的时候, 从⽂件中读取出⼆进制流, 再从⼆进制流中反序列

2021-04-28 17:46:34 541

转载 Java工程师成神之路java基础知识之序列化(一)

原文作者:Hollis什么是序列化与反序列化序列化是将对象转换为可传输格式的过程。 是一种数据的持久化手段。一般广泛应用于网络传输,RMI和RPC等场景中。反序列化是序列化的逆操作。序列化是将对象的状态信息转换为可存储或传输的形式的过程。一般是以字节码或XML格式传输。而字节码或XML编码格式可以还原为完全相等的对象。这个相反的过程称为反序列化。Java如何实现序列化与反序列化Java对象的序列化与反序列化在Java中,我们可以通过多种方式来创建对象,并且只要对象没有被回收我们都可以复用该对象

2021-04-28 14:00:24 58

转载 Java工程师成神之路java基础知识之动态代理

原文作者:Hollis静态代理所谓静态代理,就是代理类是由程序员自己编写的,在编译期就确定好了的。来看下下面的例子:public interface HelloSerivice { public void say();}public class HelloSeriviceImpl implements HelloSerivice{ @Override public void say() { System.out.println("hello world"

2021-04-28 10:19:10 104

转载 Java工程师成神之路java基础知识之反射

原文作者:Hollis反射反射机制指的是程序在运行时能够获取自身的信息。在java中,只要给定类的名字,那么就可以通过反射机制来获得类的所有属性和方法。反射有什么作用在运行时判断任意一个对象所属的类。在运行时判断任意一个类所具有的成员变量和方法。在运行时任意调用一个对象的方法在运行时构造任意一个类的对象Class类Java的Class类是java反射机制的基础,通过Class类我们可以获得关于一个类的相关信息Java.lang.Class是一个比较特殊的类,它用于封装被装入到JVM中的类

2021-04-27 15:19:46 82

转载 Java工程师成神之路java基础知识之IO

原文作者:Hollis字符流、字节流字节与字符Bit最小的二进制单位 ,是计算机的操作部分。取值0或者1Byte(字节)是计算机操作数据的最小单位由8位bit组成 取值(-128-127)Char(字符)是用户的可读写的最小单位,在Java里面由16位bit组成 取值(0-65535)字节流操作byte类型数据,主要操作类是OutputStream、InputStream的子类;不用缓冲区,直接对文件本身操作。字符流操作字符类型数据,主要操作类是Reader、Writer的子类;使用缓冲区

2021-04-27 11:11:37 77

转载 Java工程师成神之路java基础知识之枚举

原文作者:Hollis枚举的用法1 背景在java语言中还没有引入枚举类型之前,表示枚举类型的常用模式是声明一组具有int常量。之前我们通常利用public final static 方法定义的代码如下,分别用1 表示春天,2表示夏天,3表示秋天,4表示冬天。public class Season { public static final int SPRING = 1; public static final int SUMMER = 2; public static fi

2021-04-27 10:06:44 143

转载 Java工程师成神之路java基础知识之集合类(三)

Arrays.asList获得的List使用时需要注意什么asList 得到的只是一个 Arrays 的内部类,一个原来数组的视图 List,因此如果对它进行增删操作会报错用 ArrayList 的构造器可以将其转变成真正的 ArrayListCollection如何迭代Collection的迭代有很多种方式:1、通过普通for循环迭代2、通过增强for循环迭代3、使用Iterator迭代4、使用Stream迭代List<String> list = ImmutableLi

2021-04-26 15:06:51 94

转载 Java工程师成神之路java基础知识之集合类(二)

HashMap的容量、扩容很多人在通过阅读源码的方式学习Java,这是个很好的方式。而JDK的源码自然是首选。在JDK的众多类中,我觉得HashMap及其相关的类是设计的比较好的。很多人读过HashMap的代码,不知道你们有没有和我一样,觉得HashMap中关于容量相关的参数定义的太多了,傻傻分不清楚。其实,这篇文章介绍的内容比较简单,只要认真的看看HashMap的原理还是可以理解的,单独写一篇文章的原因是因为我后面还有几篇关于HashMap源码分析的文章,这些概念不熟悉的话阅读后面的文章会很吃力。先

2021-04-26 10:50:23 288

转载 Java工程师成神之路Java基础知识之集合类(一)

Collection和Collections区别Collection 是一个集合接口。 它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。是list,set等的父接口。Collections 是一个包装类。 它包含有各种有关集合操作的静态多态方法。此类不能实例化,就像一个工具类,服务于Java的Collection框架。日常开发中,不仅要了解Java中的Collection及其子类的用法,还要了解Collections用法。可以提升很多处理集合类

2021-04-25 15:34:29 114

转载 Java工程师成神之路Java基础知识之Java中各种关键字

一、transient在关于java的集合类的学习中,我们发现ArrayList类和Vector类都是使用数组实现的,但是在定义数组elementData这个属性时稍有不同,那就是ArrayList使用transient关键字private transient Object[] elementData; protected Object[] elementData; 那么,首先我们来看一下transient关键字的作用是什么。transientJava语言的关键字,变量修饰符,如果用t

2021-04-25 13:25:33 82

转载 Java工程师成神之路Java基础知识之String(三)

字符串池字符串大家一定都不陌生,他是我们非常常用的一个类。String作为一个Java类,可以通过以下两种方式创建一个字符串:String str = "Hollis";String str = new String("Hollis");而第一种是我们比较常用的做法,这种形式叫做"字面量"。在JVM中,为了减少相同的字符串的重复创建,为了达到节省内存的目的。会单独开辟一块内存,用于保存字符串常量,这个内存区域被叫做字符串常量池。当代码中出现双引号形式(字面量)创建字符串对象时,JVM 会先

2021-04-24 17:08:46 117

转载 Java工程师成神之路Java基础知识之String(二)

字符串拼接的几种方式和区别字符串,是Java中最常用的一个数据类型了。本文,也是对于Java中字符串相关知识的一个补充,主要来介绍一下字符串拼接相关的知识。字符串拼接字符串拼接是我们在Java代码中比较经常要做的事情,就是把多个字符串拼接到一起。我们都知道,String是Java中一个不可变的类,所以他一旦被实例化就无法被修改。不可变类的实例一旦创建,其成员变量的值就不能被修改。这样设计有很多好处,比如可以缓存hashcode、使用更加便利以及更加安全等。但是,既然字符串是不可变的,那么字符串

2021-04-24 15:25:29 88

转载 Java工程师成神之路Java基础知识之String(一)

字符串的不可变性定义一个字符串String s = "abcd";s中保存了string对象的引用。下面的箭头可以理解为“存储他的引用”。使用变量来赋值变量String s2 = s;s2保存了相同的引用值,因为他们代表同一个对象。字符串连接s = s.concat("ef");s中保存的是一个重新创建出来的string对象的引用。总结一旦一个string对象在内存(堆)中被创建出来,他就无法被修改。特别要注意的是,String类的所有方法都没有改变字符串本身的值,都是返回

2021-04-24 11:21:45 95

转载 Java工程师成神之路java基础知识之自动拆装箱

自动拆装箱本文主要介绍 Java 中的自动拆箱与自动装箱的有关知识。基本数据类型基本类型,或者叫做内置类型,是 Java 中不同于类(Class)的特殊类型。它们是我们编程中使用最频繁的类型。Java 是一种强类型语言,第一次申明变量必须说明数据类型,第一次变量赋值称为变量的初始化。Java 基本类型共有八种,基本类型可以分为三类:字符类型 char布尔类型 boolean数值类型 byte、short、int、long、float、double。数值类型又可以分为整数类型 byte、

2021-04-24 10:57:06 126

转载 Java工程师成神之路java基础知识之基本数据类型

8种基本数据类型Java中有8种基本数据类型分为三大类。字符型char布尔型boolean数值型1.整型:byte、short、int、long2.浮点型:float、doubleString不是基本数据类型,是引用类型。整型中byte、short、int、long的取值范围Java中的整型主要包含byte、short、int和long这四种,表示的数字范围也是从小到大的,之所以表示范围不同主要和他们存储数据时所占的字节数有关。先来个简单的科普,1字节=8位(bit)。java中

2021-04-23 14:51:51 87

转载 Java工程师成神之路基础篇之值传递

值传递、引用传递实参与形参我们都知道,在Java中定义方法的时候是可以定义参数的。比如Java中的main方法,public static void main(String[] args),这里面的args就是参数。参数在程序语言中分为形式参数和实际参数。形式参数:是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传入的参数。实际参数:在调用有参函数时,主调函数和被调函数之间有数据传递关系。在主调函数中调用一个函数时,函数名后面括号中的参数称为“实际参数”。简单举个例子:pu

2021-04-23 10:29:55 91

转载 Java工程师成神之路基础篇之平台无关性

Java如何实现的平台无关性的相信对于很多Java开发来说,在刚刚接触Java语言的时候,就听说过Java是一门跨平台的语言,Java是平台无关性的,这也是Java语言可以迅速崛起并风光无限的一个重要原因。那么,到底什么是平台无关性?Java又是如何实现平台无关性的呢?本文就来简单介绍一下。什么是平台无关性平台无关性就是一种语言在计算机上的运行不受平台的约束,一次编译,到处执行(Write Once ,Run Anywhere)。也就是说,用Java创建的可执行二进制程序,能够不加改变的运行于多个平

2021-04-22 13:22:11 147

转载 深入分析Java的编译原理

在《Java代码的编译与反编译》中,有过关于Java语言的编译和反编译的介绍。我们可以通过javac命令将Java程序的源代码编译成Java字节码,即我们常说的class文件。这是我们通常意义上理解的编译。但是,字节码并不是机器语言,要想让机器能够执行,还需要把字节码翻译成机器指令。这个过程是Java虚拟机做的,这个过程也叫编译。是更深层次的编译。在编译原理中,把源代码翻译成机器指令,一般要经过以下几个重要步骤:根据完成任务不同,可以将编译器的组成部分划分为前端(Front End)与后端(Back

2021-04-22 12:19:27 194

转载 Java代码的编译与反编译那些事儿

编程语言在介绍编译和反编译之前,我们先来简单介绍下编程语言(Programming Language)。编程语言(Programming Language)分为低级语言(Low-level Language)和高级语言(High-level Language)。机器语言(Machine Language)和汇编语言(Assembly Language)属于低级语言,直接用计算机指令编写程序。而C、C++、Java、Python等属于高级语言,用语句(Statement)编写程序,语句是计算机指令的抽象

2021-04-22 11:21:15 164

转载 Java工程师成神之路基础篇之封装、继承、多态

什么是多态什么是多态多态的概念呢比较简单,就是同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。如果按照这个概念来定义的话,那么多态应该是一种运行期的状态。多态的必要条件为了实现运行期的多态,或者说是动态绑定,需要满足三个条件:有类继承或者接口实现子类要重写父类的方法父类的引用指向子类的对象简单来一段代码解释下:public class Parent{ public void call(){ sout("im Parent");

2021-04-21 17:30:22 113

转载 Java工程师成神之路基础篇之面向对象

什么是面向对象面向对象与面向过程面向对象和面向过程是两种软件开发方法,或者说是两种不同的开发范式。什么是面向过程?“面向过程”(Procedure Oriented)是一种以过程为中心的编程思想,是一种自顶而下的编程模式。最典型的面向过程的编程语言就是C语言。概述把问题分解成一个一个步骤,每个步骤用函数实现,依次调用即可。就是说,在进行面向过程编程的时候,不需要考虑那么多,上来先定义一个函数,然后使用各种诸如if-else、for-each等方式进行代码执行。最典型的用法就是实现一个简单的

2021-04-21 15:14:26 117

转载 21年要掌握哪些Java技术才能在就业大军中取胜 ?

其实,在2015年之前,你可能只需要会简单的 会JavaSE+数据库+Jsp+Servlet就可以就业了(顺利的就业),但是从2015年后随着社会对互联的需求增大,对开发者的技术水平也水涨船高,此时要求你会JavaSE+数据库+Jsp+Servlet+Struts2+Hibernate。后面有发展到了18年,互联网迅速的发展,要就业要求你会JavaSE+数据库+Jsp+Servlet+Struts2+Hibernate+Spring+SpringMVC等技术。那么现在2021年了,我们需要掌握哪些技术才

2021-04-20 14:13:21 102

转载 学习java的常见问题

1、自学时遇到不懂的知识怎么办?答:百度/谷歌找答案,初学者遇到的问题基本百度上都能找得到,多利用搜索引擎,锻炼自己的解决问题的能力,这个能力会贯穿你的整个程序员生涯。2、普通人按本文自学后能达到什么程度?答:如果你确实很努力的花了超过1000个小时,按本文的路线去学习,掌握了本文所介绍的知识,那我相信你找个工作是不难的。3、在网上看到有人自学6个月进 BAT?答:自学6个月进 BAT 有吗?我相信是有的。多吗?我相信是海底捞针。针对这个话题,大部分是假的,更多的是一些人/机构用于打广告的,看了

2021-04-16 13:22:55 84

转载 2021 Java热门技术有哪些?

1. JVM相关对于刚刚接触Java的人来说,JVM相关的知识不一定需要理解很深,对此里面的概念有一些简单的了解即可。不过对于一个有着3年以上Java经验的资深开发者来说,不会JVM几乎是不可接受的。JVM作为java运行的基础,很难相信对于JVM一点都不了解的人可以把java语言吃得很透。我在面试有超过3年Java经验的开发者的时候, JVM几乎就是一个必问的问题了。当然JVM不是唯一决定技术能力好坏的面试问题,但是可以佐证java开发能力的高低。在JVM这个大类中,我认为需要掌握的知识有:

2021-04-15 10:56:18 607

转载 2021JAVA最新学习笔记

第一章Java最大的特点就是可以在不同的平台环境上运行。Java Write Once,Run Anywhere!Java体系结构中立。Java的版本分为:JSE 标准版;JEE 企业版;JME 小设备版。Java与C++的区别:(-3+1)去掉指针,去掉多继承,去掉运算符重载;增加自动内存分配与回收机制。Java面向对象的特点:封继多:封装、继承、多态。Java分布式:Java的网络编程如同从文件发送和接收数据一样简单。Java鲁棒性:异常处理机制、自动垃圾收集处理来进行内存管理。Ja

2021-04-14 17:36:58 170

转载 2021年全新Java学习路线图分享给大家!

学习是一个循序渐进的过程,是一件非常难得坚持的事情。如果真的想学Java,一定要下定决心!这里我分享给你的Java学习线路图,希望对你有帮助,以下为2020年更新版本,黑马君在2020年更新了Java学习路线图,把2019年新技术,新课程囊括其中,也写了技术树,每个阶段需要学习的技术,跟着学学完你就是中高级程序员!一、Java基础JavaSE基础是Java中级程序员的起点,是帮助你从小白到懂得编程的必经之路。在Java基础板块中有6个子模块的学习:基础语法,可帮助你建立基本的编程逻辑思维面向

2021-04-14 10:52:20 283 1

转载 Java自学路线总结,已Get腾讯Offer

本人19本科应届生,专注Java后台学习,已签腾讯WXG的offer(日后转c++)。众所周知,鹅厂后台一直以C++为重,面试官也是做C++开发。但是语言只是工具,对代码的理解才是核心。面试时重点考察的是基础知识,以及解题的思考过程。凭借着对Java的理解去回答,也受到了面试官的认可,最终幸运的拿到offer。一直以来,通过知乎这个程序员大牛聚集地,学习到了很多经验方法,也少走了很多弯路。感谢这个平台给予我的帮助,同时也分享一下我的Java学习经验。Java基础做java开发,java基础是最需要下

2021-04-13 17:39:15 89

转载 Python和Java对比,全面解读哪个语言最赚钱,前景最好?

都知道现在最火爆的是人工智能、大数据。而人工智能和大数据主要用的语言就是Java和Python。今天我们就来分析一下,当前java和python,哪个就业前景更好,薪资更高?该学哪一个?一、语言历史Python:生而为简Python是一门拥有简洁语法的高级编程语言。一个名为Guido van Rossum的荷兰大佬在1991年设计了它。Rossum设计这门语言的初衷,就是为了让代码读起来更轻松,并且让程序员们比起用其他语言,可以写更少的代码,事半功倍。Java:出生就想当老大而Jame Gosli

2021-04-13 15:49:17 2032 1

转载 java零基础书籍推荐

四大名著之《Java核心技术(第10版)》提起Java入门必读,四大名著是少不了的。《Java 核心技术》就是其中之一,分卷一、卷二两册,卷一讲基础,卷二为进阶。全书对于Java语言的核心概念、语法、重要特性和开发方法讲解地非常细致,可以说是一部有关Java的百科全书。四大名著之《EffectiveJava中文版(第 2 版)》“神书”、“整本书都是精华”、“内容永不过时”、“Java 程序员必读”……这些标签都是属于《Effective Java中文版》的。这本书不是讲理论基础的,而是讲实战的

2021-04-13 10:22:45 155

转载 Java 开发环境配置

在本章节中我们将为大家介绍如何搭建Java开发环境。1、Windows 上安装开发环境2、Linux 上安装开发环境3、安装 Eclipse 运行 Javawindow系统安装java下载JDK首先我们需要下载java开发工具包JDK,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html,点击如下下载按钮:在下载页面中你需要选择接受许可,并根据自己的系统选择对应的版本,本文以 Window 64位系统为

2021-04-12 15:36:32 55

转载 Java 基础语法

Java 基础语法基本语法编写 Java 程序时,应注意以下几点: 大小写敏感:Java 是大小写敏感的,这就意味着标识符 Hello 与 hello 是不同的。 类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如MyFirstJavaClass。 方法名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。 源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类..

2021-04-12 14:57:23 69

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除