自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 JVM内幕:Java虚拟机详解

这篇文章解释了Java 虚拟机(JVM)的内部架构。下图显示了遵守 Java SE 7 规范的典型的 JVM 核心内部组件。 上图显示的组件分两个章节解释。第一章讨论针对每个线程创建的组件,第二章节讨论了线程无关组件。线程JVM 系统线程每个线程相关的程序计数器栈本地栈栈限制栈帧局部变量数组操作数栈动态链接线程共享堆内存管理非堆内存即时编译方法区类文件结构类加载器更快的类加载方法区在哪里类加载器参

2017-12-31 00:00:00 605

转载 浅析Java中的final关键字

谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字。另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法。下面是本文的目录大纲:  一.final关键字的基本用法  二.深入理解final关键字  若有不正之处,请多多谅解并欢迎指正。 一.final关键字的基本用法  在Java中,final关键字可以用来

2017-12-30 00:00:00 367

转载 Java内部类详解

说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉。原因是平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下,并且即使用到也很少去总结内部类的用法。今天我们就来一探究竟。下面是本文的目录大纲:  一.内部类基础  二.深入理解内部类  三.内部类的使用场景和好处  四.常见的与内部类相关的笔试面试题  若有不正之处,请多谅解并欢迎批评指正。 一.内部类基础  在Java中,可

2017-12-29 00:00:00 529 1

转载 Java习惯用法总结

在Java编程中,有些知识 并不能仅通过语言规范或者标准API文档就能学到的。在本文中,我会尽量收集一些最常用的习惯用法,特别是很难猜到的用法。1. 实现equals()class Person {  String name;  int birthYear;  byte[] raw;   public boolean equals(Object obj) {    if (!obj instanc

2017-12-28 00:00:00 510 1

转载 Java抽象类与接口的区别

很多常见的面试题都会出诸如抽象类和接口有什么区别,什么情况下会使用抽象类和什么情况你会使用接口这样的问题。本文我们将仔细讨论这些话题。在讨论它们之间的不同点之前,我们先看看抽象类、接口各自的特性。抽象类抽象类是用来捕捉子类的通用特性的 。它不能被实例化,只能被用作子类的超类。抽象类是被用来创建继承层级里子类的模板。以JDK中的GenericServlet为例:public abstract cla

2017-12-27 00:00:00 407 1

转载 Java面试中问及Hibernate与MyBatis的对比,在这里做一下总结

我是一名java开发人员,hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和学习,使自己在做项目中更加得心应手。第一方面:开发速度的对比就开发速度而言,Hibernate的真正掌握要比Mybatis来得难些。Mybatis框架相对简单很容易上手,但也相对简陋些。个人觉得要用好

2017-12-26 00:00:00 449

转载 Java String 对 null 对象的容错处理

前言最近在读《Thinking in Java》,看到这样一段话:Primitives that are fields in a class are automatically initialized to zero, as noted in the Everything Is an Object chapter. But the object references are initialized

2017-12-25 00:00:00 412

转载 浅谈Java中的equals和==

在初学Java时,可能会经常碰到下面的代码:1 String str1 = new String("hello");2 String str2 = new String("hello");3         4 System.out.println(str1==str2);5 System.out.println(str1.equals(str2));  为什么第4行和第5行的输出结果不一样?==

2017-12-24 00:00:00 357 1

转载 《深入理解Java虚拟机》笔记

在C里面我们想执行一段自己编写的机器指令的方法大概如下:typedef void(*FUNC)(int);char* str = "your code";FUNC f = (FUNC)str;(*f)(0);也就是说,我们完全可以做一个工具,从一个文件中读入指令,然后将这些指令运行起来。上面代码中“编好的机器指令”当然指的是能在CPU上运行的,如果这里我还实现了一个翻译机器:从自己定义的格式指令翻

2017-12-23 00:00:00 425 1

转载 Java中的static关键字解析

static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一。下面就先讲述一下static关键字的用法和平常容易误解的地方,最后列举了一些面试笔试中常见的关于static的考题。以下是本文的目录大纲:  一.static关键字的用途  二.static关键字的误区  三.常见的笔试面试题  若有不正之处,希望谅解并欢迎批评指正。

2017-12-22 00:00:00 324

转载 浅谈Java中的hashcode方法

哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率。在Java的Object类中有一个方法:public native int hashCode();  根据这个方法的声明可知,该方法返回一个int类型的数值,并且是本地方法,因此在Object类中并没有给出具体的实现。  为何Object类需要这样一个方法?它有什么作用呢?今天我们就来具体探讨一下hashCo

2017-12-21 00:00:00 328

转载 Java Web架构知识整理——记一次阿里面试经历

惭愧,从一次电面说起。我个人在某国企做一名软件设计师,国企大家都懂的,待遇一般而且没啥意思,做的方向基本都是操作系统、驱动和工具软件的开发,语言基本都是C/C++。最近也想跳槽,刚好有幸得到了一次阿里的面试机会,于是就试了试。  首先是电话面试,当时正在上班,人多口杂,好不容易找了个没人的地方开始面试。面试的方向是Java Web,面试官很nice,跟朋友一样,一开始问了些比较基础的东西,比如ha

2017-12-20 00:00:00 2307

转载 Java:类与继承

对于面向对象的程序设计语言来说,类毫无疑问是其最重要的基础。抽象、封装、继承、多态这四大特性都离不开类,只有存在类,才能体现面向对象编程的特点,今天我们就来了解一些类与继承的相关知识。首先,我们讲述一下与类的初始化相关的东西,然后再从几个方面阐述继承这一大特性。以下是本文的目录大纲:  一.你了解类吗?  二.你了解继承吗?  三.常见的面试笔试题  若有不正之处,请多多谅解并欢迎批评指正。一.你

2017-12-19 00:00:00 373 1

转载 触摸Java常量池

java常量池是一个经久不衰的话题,也是面试官的最爱,题目花样百出,这次好好总结一下。理论先拙劣的表达一下jvm虚拟内存分布:程序计数器是jvm执行程序的流水线,存放一些跳转指令,这个太高深,不懂。本地方法栈是jvm调用操作系统方法所使用的栈。虚拟机栈是jvm执行java代码所使用的栈。方法区存放了一些常量、静态变量、类信息等,可以理解成class文件在内存中的存放位置。虚拟机堆是jvm执行jav

2017-12-18 00:00:00 456

转载 Java Socket编程——通信是这样炼成的

Java最初是作为网络编程语言出现的,其对网络提供了高度的支持,使得客户端和服务器的沟通变成了现实,而在网络编程中,使用最多的就是Socket。像大家熟悉的QQ、MSN都使用了Socket相关的技术。下面就让我们一起揭开Socket的神秘面纱。Socket编程一、网络基础知识(参考计算机网络)           关于计算机网络部分可以参考相关博客:          《TCP/IP协议栈及OSI

2017-12-17 00:00:00 616

转载 Java中的多线程你只要看这一篇就够了

引如果对什么是线程、什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内。用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现。说这个话其实只有一半对,因为反应“多角色”的程序代码,最起码每个角色要给他一个线程吧,否则连实际场景都无法模拟,当然也没法说能用单线程来实现:比如最常见的“生产者,消费者模型”。很多人都对其中的一些概念不够明确

2017-12-15 00:00:00 449

转载 深入理解Java垃圾回收机制

一、垃圾回收机制的意义Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用空闲的内存。ps:内存泄露是指该内存空间使用完毕之后未回收,在不涉及复杂数据结构的一般情

2017-12-14 00:00:00 560

转载 架构师速成——如何高效编程 for java

引子赵云大喝一声,挺枪骤马杀入重围,左冲右突,如入无人之境。那枪浑身上下,若舞梨花;遍体纷纷,如飘瑞雪。赵云是所有历史人物中我最喜欢的一个,如果放到现代,他走了it的道路,一定可以成为一个编程高手。为什么?其实古时打仗也是一门技术活,需要有勇有谋,跟it没有什么太大的区别。打仗要修身、修技、修器才能左冲右突,如入无人之境,同样做it也要修身、修技、修器,才能高效编程,如入无人之境。高效编程的修炼何

2017-12-13 00:00:00 443 1

转载 Java基础精选,你答对了几道?

没有技术深度是大多程序员的一种常态。但是当你成为一个资深的工程师的时候,很多公司并不希望你还是那样平庸,没有深度。虽然你会纳闷,我就算有深度你们也不一定用得上呀?然而到了这个级别的人需求量并不像初中级开发那么多,公司更理性和稳妥的做法是选择有深度的人,不是吗?Integer比较看下面这段有意思的代码,对数字比较敏感的小伙伴有没有发现异常?public static void main(String

2017-12-12 00:00:00 2778 3

转载 成为Java顶尖程序员,先过了下面问题!

一、数据结构与算法基础说一下几种常见的排序算法和分别的复杂度。用Java写一个冒泡排序算法描述一下链式存储结构。如何遍历一棵二叉树?倒排一个LinkedList。用Java写一个递归遍历目录下面的所有文件。二、Java基础接口与抽象类的区别?Java中的异常有哪几类?分别怎么使用?常用的集合类有哪些?比如List如何排序?ArrayList和LinkedList内部的实现大致是怎样的?他们之间的区

2017-12-11 00:00:00 1343 1

转载 Java开发中如何正确踩坑

为什么说一个好的员工能顶 100 个普通员工我们的做法是,要用最好的人。我一直都认为研发本身是很有创造性的,如果人不放松,或不够聪明,都很难做得好。你要找到最好的人,一个好的工程师不是顶10个,是顶100个。所以,在核心工程师上面,大家一定要不惜血本去找,千万不要想偷懒只用培养大学生的方法去做。最好的人本身有很强的驱动力,你只要把他放到他喜欢的事情上,让他自己有玩的心态,他才能真正做出一些

2017-12-10 00:00:00 883

转载 Java后端学习流程

首先,我个人比较推崇的学习方法是:先学java前端,也就是HTML,css,js,因为学习java以后肯定是往java ee方向发展的,学习完前端,在学习后端很多东西比计较容易理解!其中J2SE是关键,如果学好了java se 部分,基础扎实了,后面进阶学习也比较轻松!补充说明一下:我觉得学习java比较合适的方法是先把所有的知识点过一遍,然后把所有的知识点串起来,边做开发边补充,就像写文

2017-12-07 00:00:00 2077 1

转载 Java反射机制详解

1. 反射机制是什么反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。2. 反射机制能做什么反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个

2017-12-06 00:00:00 408

转载 Java虚拟机工作原理

首先我想从宏观上介绍一下Java虚拟机的工作原理。从最初的我们编写的Java源文件(.java文件)是如何一步步执行的,如下图所示,首先Java源文件经过前端编译器(javac或ECJ)将.java文件编译为Java字节码文件,然后JRE加载Java字节码文件,载入系统分配给JVM的内存区,然后执行引擎解释或编译类文件,再由即时编译器将字节码转化为机器码。主要介绍下图中的类加载器和运行时数据区两个

2017-12-05 00:00:00 720

转载 Java IO流学习总结

Java流操作有关的类或接口:Java流类图结构:流的概念和作用流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。 IO流的分类根据处理数据类型的不同分为:字符流和字节流根据数据流向不同分为:输入流和输出流字

2017-12-04 00:00:00 1056

空空如也

空空如也

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

TA关注的人

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