自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 深入理解 Java 虚拟机(一)走近 Java

1.1 - 概述•总述:Java 不仅是一门编程语言,还是一个由一系列 计算机软件 和 规范 形成的技术体系,这个技术体系提供了完整的用于软件开发和跨平台部署的支持环境,并广泛应用于 ◦嵌入式系统。 ◦移动终端 。 ◦企业服务器 。 ◦大型机等各种场合。•特点:Java 能获得如此广泛的认可,除了它

2018-01-22 13:33:18 491

原创 java实例

Java 环境设置实例               1.Java 实例 – 如何编译一个Java 文件?         2.Java 实例 – Java 如何运行一个编译过的类文件?        3.Java 实例 - 如何执行指定class文件目录(classpath)?        4.Java 实例 – 如何查看当前 Java 运行的版本?Java 字符串

2018-01-22 12:09:57 427

原创 Java开发人员能力模型

前言没有对比就没有伤害,没有伤害就没有上进心!本文的出发点主要有以下两条:让大家通过对比能力模型,发现自己的不足;知道自己的不足后,提供一条学习的路线建议。如果不害怕暴击10000000+的伤害,就请继续往下。。。1年一年经验还是职场菜鸟,你的立身之本就是扎实的基础知识,这也是你以后能走多远、走多快的保证。--能力要求

2017-09-26 17:52:16 5023 1

原创 java如何安全的延迟初始化

我们经常需要使用单例模式来为我们工作,而我们一般会使用下面的代码来组织我们的单例模式:我们称这样的代码为“双重检查锁定”(Double checking locking),一般情况下,这样的代码不会出现什么问题,毕竟我们的代码中也有类似的代码,但是这样的代码还是会有安全隐患。在这里,我们需要了解一个“new SingletonClass()”背后的过程,新生成一个对对象需要三个过程:1

2017-09-26 17:50:53 577

原创 java如何安全的延迟初始

我们经常需要使用单例模式来为我们工作,而我们一般会使用下面的代码来组织我们的单例模式:我们称这样的代码为“双重检查锁定”(Double checking locking),一般情况下,这样的代码不会出现什么问题,毕竟我们的代码中也有类似的代码,但是这样的代码还是会有安全隐患。在这里,我们需要了解一个“new SingletonClass()”背后的过程,新生成一个对对象需要三个过程

2017-09-26 17:50:11 421

原创 Java容器类框架概述

Java容器类概述Java容器有两类框架,一类是Collection,一类是Map,下面通过两张图片来分析一下这两种容器,之所以说是容器,是因为Map不属于Collection,而是一个单独的接口Collection接口思维导图中的标注黑体的是比较常见的集合,主要用Arraylist,LinkedList,HashSet,Collection继承了Iterable接口Col

2017-09-26 17:48:07 578

原创 java-根据生日计算周岁

1. 周岁的理解必须过了生日,才表示满周岁。例如:2000-10-01出生,当前日期是2000-11-01,未满1周岁,算0周岁!2000-10-01出生,当前日期是2005-10-01,未满5周岁,算4周岁(生日当天未过完)!2000-10-01出生,当前日期是2005-10-02,已满5周岁了!2. 所谓的"算法“先看“年”,用当前年份减去生

2017-09-26 17:47:27 4670 1

原创 初识Java多线程

进程、线程、多线程的区别进程:进程(process),是计算机中已运行程序的实体。线程:线程(thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位多线程:多线程(multithreading),是指从软件或者硬件上实现多个线程并发执行的技术。ps:我们所说的多线程一般指的是单进程内的多线程。线程与进程

2017-09-23 16:25:21 475

原创 深入理解JVM 系列JVM运行机制 JVM内存模(volatile,指令重排)

为了 接下去 更好理解 JAVA 并发,多线程 JUC 包的原理 特此写下前置学习文章 深入学习 java 虚拟机本文目录JVM启动流程JVM基本结构内存模型编译和解释运行的概念一、java 程序 启动流程启动流程java 命令开始寻找 配置文件 定位需要的 .dll.ddl 初始化 JVM 虚拟机获得 native 接口

2017-09-23 16:24:19 434

原创 java基础数据结构分析

最近在梳理一些关于java的概念,这篇文章是最近笔记中关于基础数据结构的部分,因为记录笔记的时候思路比较天马行空,所以不知道这篇文章的思路能不能清晰,姑且总结下将要涉及到的方面(jdk1.8)(另外毕竟是自己的理解,如果能指出错误,不胜感激):基础数据结构继承关系图相关接口的一些解读iterable和iterator的异同map接口中值的注意的地方col

2017-09-23 16:23:17 370

转载 java 入门

很多的新手,入门第一天,在装完jdk之后,第一件事就是配置环境变量。有些人运气好,配置之后一次性就成功了,javac跑出了你的第一个HelloWorld。有些人就不那么幸运了,多了或者少了个斜杠,写错个分号什么的,导致配置失败。这里就来研究下,究竟环境变量是个什么鬼。环境变量到底是什么鬼所谓变量,就得有变量名和值,然后在特定场合下根据这个名字来使用这个值。以windows系

2017-09-23 16:22:26 334

转载 浅谈接口和抽象类(java)

总是有人在学习完接口会感觉,咦?这和抽象类有什么太大区别?用起来好像还不如抽象类.抽像类的限制比他小,定义的东西多(接口:定义抽象方法 抽象类:抽象方法和非抽象方法),为什么非要使用接口.其实想到这个问题很好,说明起码思考了.但是接口和抽象类还是有区别的.首先:先来看相同点,二者都是抽象的,不能被实例化.不同点接口使用interface来定义,使用implements用来实现接口,接口

2017-09-23 16:21:38 235

转载 Java中如何恰当的表达“继承”与“扩展”的语义?

”继承“是Java的面向对象学习过程中的大难题,原因有二:”is-A“的关系本身就不好理解Java中的extends“扩展”与面向对象中的“继承”inheritance不是一一对应的。很多书里认为继承与扩展是一一对应的,但个人不这样认为。并且以我的观点,能更好的指导开发工作如何进行继承与扩展的程序设计和编码实现。本文尝试以通俗的语言陈述Java中如何恰当的表达“继承”与

2017-09-22 17:28:22 360

转载 关于Java的部分小知识点

程序运行中可能产生的问题(异常的分类)(1):严重的问题是Erro(2):非严重的问题Exception**编译期异常: 就是发生在编译期**运行期异常:就是发生在运行期(3):jvm对异常的处理方式,如果是main出现了问题那么main可以使用自己的方式处理,如果main方法不做处理那么就将问题抛给 调用者。处理方式一:使用try...catch(try中的代码越少越

2017-09-22 17:26:52 352

转载 Java中的一些重要概念

类和对象面向对象的程序是从对象构建的. 类是用于创建对象的“模板”. 该类定义对象可以包含的值以及可以对该对象执行的操作.编译之后,一个类被存储在文件系统中的'(class-name).class'文件中.当我们要从该类创建第一个对象时,或者当我们调用其一个静态函数时,该类被加载到内存中.在类加载期间,所有类的静态变量都被初始化. 还将执行在static { ... }块中定义的操

2017-09-22 17:25:56 805

转载 微博 Qzone 微信 JAVA多线程和并发

多线程提高了程序的执行效率,多线程同时执行,因此具有不确定性提高了资源利用率,CPU、内存等占用一定的内存空间线程越多CPU的调度开销越大程序的复杂度会上升线程池避免线程的创建和销毁带来的性能开销(少开销)加快响应速度。任务到达时不用创建线程,直接使用线程池中的避免大量的线程间因互相抢占系统资源而阻塞的现象(避免阻塞)

2017-09-22 17:25:01 306

转载 Java 面试常问的关键字总结

关键字:final finalize finallythrows和throwstatic关键字的作用abstract和 interfacesuper和 thissynchronize和 volatile1. final finalize finally对比(1)性质不同final为关

2017-09-20 18:02:54 730

转载 Java程序员必读之热门书单

读书是另一种感知世界的方式,是另一种提升自我的方式,是另一种与人交谈的方式,一周不读书就觉得自己俗了,长久不看书,写东西就找不到感觉了,网络上,电视上,各种电子设备上的内容当然不少,但都比不上读书,读书静心,读书能闻到古埃及的味道。关乎于程序员,除了做项目来提高自身的技术,还有一种提升自己的专业技能就是,多!看!书!毕竟,书是学习的海洋呢!So,Java程序员你们准备好了吗?双手奉上Java程

2017-09-20 18:01:56 341

转载 java初学者看什么书比较好

作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从。我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水平的Java程序员们。一、Java编程入门类对于没有Java编程经验的程序员要入门,随便读什么入门书籍都一样,这个阶段需要你快速的掌握Java基础语法和基本用法,宗旨就是“囫囵吞枣不求甚解”,

2017-09-20 18:01:04 948

转载 为什么java如此经久不衰

其实这种老生常谈的话题,没必要说来说去的,只是看到网络上有很多误导人的观点,觉得很不爽我先澄清这些观点,再来谈谈我的见解。观点一:“同样的代码java写的更多,而C#写的更少。那么C#的门槛更低,竞争更激烈” 我觉得能说出这种话的人,基本上还停留在普通专科院校没毕业的水平,基本没什么思考,笑笑就好。软件开发过程中多敲几行少敲几行都不是事。关键是能理解清楚需求,理解目标,用最适合的方

2017-09-20 18:00:19 290

转载 关于java编程该学什么?如何学?

不管我们是不是一名专业的程序员,也不论我们是如何喜欢上编程的,以及编程的目的,如果我们要编写程序的话,首先要明白我们应该学习什么,以及如何来学好一门计算机语言。学什么:在正式开始编写程序前,首先要确定自己应该学习哪一门计算机语言。计算机语言有许多,汇编、C、C++、Java、C#、Objective-C、SWift、PHP等等,到底我们应该学习哪一门语言呢?!有些同志可能会说,我都想学会。

2017-09-20 17:59:35 173

转载 关于java编程该学什么?如何学?

不管我们是不是一名专业的程序员,也不论我们是如何喜欢上编程的,以及编程的目的,如果我们要编写程序的话,首先要明白我们应该学习什么,以及如何来学好一门计算机语言。学什么:在正式开始编写程序前,首先要确定自己应该学习哪一门计算机语言。计算机语言有许多,汇编、C、C++、Java、C#、Objective-C、SWift、PHP等等,到底我们应该学习哪一门语言呢?!有些同志可能会说,我都想学会。

2017-09-17 19:12:26 235

转载 五大最佳开源java性能监控工具

对任何应用程序而言,性能都是最重要的事情之一。我们希望用户能够获得最佳的体验,并且应用程序可以正常运行,这也就是性能监控工具存在的原因。如果你正在寻找性能监控工具,不妨看看以下推荐的这五款开源工具,这些工具目前已经可以替代付费工具了,你可以看看是否是你的最佳选择。本文推荐的五款开源工具目前是开源社区中最受欢迎的。1. StagemonitorStagemonitor提供了一个Java监

2017-09-17 19:11:16 3469

转载 java开发工具主要有哪些?

java开发工具很多,大家选择的时候未免会有些迷茫。今天为大家介绍合肥北大青鸟经常使用的Java开发工具Eclipse和Jbuilder。Eclipse市场用户多主要因为是免费的,可以降低开发成本,比较合中国的主流。但Jbuilder有些地方更方便,使用用户也非常多。首先为大家介绍java开发工具——EclipseEclipse最初是由IBM公司开发的替代商业软件的自由集成开发环境(IDE

2017-09-17 19:10:22 2559

转载 如何成为一个Java高薪架构师?

什么是架构,什么是架构师?这似乎是聊架构话题时永恒的问题。从内心讲我真的不想回答架构具体需要做什么,架构师应该具体负责什么。因为从实际情况看,在不同的系统层级,不同的需求下架构师的职责也会不同;从不同的技术角度看,架构师又是个变色龙——一时是技术的大拿,一时是技术的规划者,一时是技术团队的指挥者。那么,该如何回答“什么是架构,什么是架构师”这个问题呢?这或许需要先搞清楚另外一个问题——一名

2017-09-17 19:09:30 281

转载 java初学者看什么书比较好

零基础学Java只要方法得当,就有机会学习好Java编程。初学Java就像交朋友从陌生到熟悉再到铁杆搭档一生相伴,随着学习的深入,你会发现学Java并不是想象的那样枯燥和困难,甚至说还有一些美妙之感。零基础学java的9个指标:一:透彻理解面向对象二:掌握核心的API三:坚持不懈写代码四:加入好的交流论

2017-09-17 19:08:18 2534

转载 五大最佳开源java性能监控工具

对任何应用程序而言,性能都是最重要的事情之一。我们希望用户能够获得最佳的体验,并且应用程序可以正常运行,这也就是性能监控工具存在的原因。如果你正在寻找性能监控工具,不妨看看以下推荐的这五款开源工具,这些工具目前已经可以替代付费工具了,你可以看看是否是你的最佳选择。本文推荐的五款开源工具目前是开源社区中最受欢迎的。1. StagemonitorStagemonitor提供了一个Java监

2017-09-16 16:31:15 3377 1

转载 关于java编程该学什么?如何学?

不管我们是不是一名专业的程序员,也不论我们是如何喜欢上编程的,以及编程的目的,如果我们要编写程序的话,首先要明白我们应该学习什么,以及如何来学好一门计算机语言。学什么:在正式开始编写程序前,首先要确定自己应该学习哪一门计算机语言。计算机语言有许多,汇编、C、C++、Java、C#、Objective-C、SWift、PHP等等,到底我们应该学习哪一门语言呢?!有些同志可能会说,我都想学会。

2017-09-16 16:30:38 144

转载 为什么java如此经久不衰

其实这种老生常谈的话题,没必要说来说去的,只是看到网络上有很多误导人的观点,觉得很不爽我先澄清这些观点,再来谈谈我的见解。观点一:“同样的代码java写的更多,而C#写的更少。那么C#的门槛更低,竞争更激烈” 我觉得能说出这种话的人,基本上还停留在普通专科院校没毕业的水平,基本没什么思考,笑笑就好。软件开发过程中多敲几行少敲几行都不是事。关键是能理解清楚需求,理解目标,用最适合的方

2017-09-16 16:29:35 354

转载 java初学者看什么书比较好

作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从。我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水平的Java程序员们。一、Java编程入门类对于没有Java编程经验的程序员要入门,随便读什么入门书籍都一样,这个阶段需要你快速的掌握Java基础语法和基本用法,宗旨就是“囫囵吞枣不求甚解”,

2017-09-16 16:28:46 20113

转载 28岁转行学Java ,我收获理想的高薪邂逅浪漫的爰情

作者28岁转行学Java ,我对我的选择无怨无侮。虽然我在学习Java的行列里年龄大了一些,但是因为梦想,通过努力,我收获了狼多,不仅是知识和技能,更是未来的方向。我因为偏科,高考考到了一个不太理想的专科学校,毕业后去了一家物业公司跟着师傅当起了电工。公司的电脑和局域网有时会出故障,我也经常去帮助维修。逐渐我对电脑网络的技术产生了兴趣。有一次我遇见了一个大学同学,和他小聚了一下。闲

2017-09-16 16:27:26 3851 4

转载 Java程序员必读之热门书单

读书是另一种感知世界的方式,是另一种提升自我的方式,是另一种与人交谈的方式,一周不读书就觉得自己俗了,长久不看书,写东西就找不到感觉了,网络上,电视上,各种电子设备上的内容当然不少,但都比不上读书,读书静心,读书能闻到古埃及的味道。关乎于程序员,除了做项目来提高自身的技术,还有一种提升自己的专业技能就是,多!看!书!毕竟,书是学习的海洋呢!So,Java程序员你们准备好了吗?双手奉上Java程

2017-09-16 16:26:20 358

转载 Java中锁概念总结

Java开发过程涉及了很多锁,本篇对这些锁的概念进行了整理。公平锁和非公平锁公平锁:多个线程申请获取同一个锁,按照线程的申请顺序,排队获取锁。公平锁的好处是等待的线程不会被饿死,相应的缺陷就是整体吞吐量很低、效率很低。使用new ReentrantLock(true)可以构造一个公平锁。非公平锁:多个线程申请获取同一个锁,获取锁的顺序不按照申请顺序,抢占式的获取。非公平锁的好处是整体效

2017-09-13 18:15:02 749

转载 java实现冒泡排序法

插入排序抽象排序方法具体实现且行数最少时空复杂度方法一主函数中通过BubbleSort类带参数的构造函数执行冒泡排序方法二主函数通过调用BubbleSort类的静态方法执行冒泡排序运行结果学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群346942462,我们一起学Java!

2017-09-12 20:21:15 683

转载 Java并发编程:JMM和volatile

Java内存模型随着计算机的CPU的飞速发展,CPU的运算能力已经远远超出了从主内存(运行内存)中读取的数据的能力,为了解决这个问题,CPU厂商设计出了CPU内置高速缓存区。高速缓存区的加入使得CPU在运算的过程中直接从高速缓存区读取数据,在一定程度上解决了性能的问题。但也引起了另外一个问题,在CPU多核的情况下,每个处理器都有自己的缓存区,数据如何保持一致性。为了保证多核处理器的数据一致性,

2017-09-12 20:19:36 243

转载 Java多线程基础——线程和线程安全

因为处理器主频在硬件发展上的瓶颈,摩尔定律基本失效,现在真正起作用的是并行处理的Amdahl定律,毕竟,现在计算机的瓶颈在于存储和通信,而不是运算本身,并行运算可以更充分地发挥运算的能力,也是提升计算机性能。线程及其实现进程进程是操作系统进行资源分配调度的最小单位,各进程有独立的系统资源(如内存、文件I/O等),互相之间不能直接访问,很多时候,一个进程就是一个应用,多个进程也许可以并发

2017-09-12 20:18:24 166

转载 你应该知道的JDK知识

前言无论是从事Javaee开发或者是Android开发,JDK的基础知识都尤为重要。我们在代码里经常使用ArrayList、HashMap等,但却很少思考为什么是使用它,使用的时候需要注意什么。甚至有可能去面试的时候,人家一问HashMap的实现原理,但却只知道put和get,非常尴尬。所以为了开发更高质量的程序,写出更优秀的代码,还是需要好好研究一下JDK的一些关键源码。本文主要对JDK

2017-09-12 20:16:58 226

转载 Java程序员成神列表

必备计算机基础知识:操作系统;计算机网络;数据结构与算法;编译原理;计算机硬件基本知识;数学:概率,统计,线性代数,高中数学。Java程序员成神必备知识:Java基础:基本语法,集合(源码),泛型,异常,反射,JVM,IO/NIO,网络(Netty源码),多线程,序列化;Web知识:JavaEE,servlet规范

2017-09-12 20:16:21 236

转载 JAVA 之 Tomcat知识框架

一、Tomcat服务器(很熟悉)1、Web开发概述javaSE:javaEE:13种javaME:JavaEE规范: 13种技术的总称。Servlet/Jsp JDBC JNDI JTA...Tomcat:Servlet/Jsp容器,轻量级服务器。2、Tomcat下载Tomcat官方站点:、Tomcat的安装与配置3.1、安装:直接解压到

2017-09-11 13:49:24 204

转载 网易面经(Java岗)

网易两面面经整理岗位:我投递的是杭研所的Java开发岗位,牛客有问我具体部门,没看,直接截图放岗位。行程:半天的时间南京=杭州之间穿行,单程2个小时,从杭州东站=网易大厦,单程1个小时,买地铁票排队排了10多分钟,真是人多(如果能买到城站高铁动车票可以从城站出发,因为离网易近一点。)吃饭:可以去网易食堂,免费吃,只要人进去,到吃饭时间点就可以蹭饭。面试:3面,很遗憾我没有HR面,本

2017-09-11 13:48:50 1283

空空如也

空空如也

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

TA关注的人

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