java基础教程
文章平均质量分 78
大屎蛋教程网
大屎蛋教程网-dashidan.com,10年技术沉淀,厚积薄发。精心挑选核心技术用最短的时间快速掌握核心技术。
展开
-
【效率优化专题】3.java浮点数运算和整数型运算的效率比较
3.java浮点数运算和整数型运算的效率比较目录1 浮点数运算效率误区的产生原因2 浮点数运算和整型运算效率对比1 浮点数运算效率误区的产生原因部分程序员对应浮点数(float,double)做运算的时候,会有一个误区就是浮点数运算效率比整型运算效率低很多。产生这个认识的原因是因为以人的角度来考虑这个问题,做小数除法要比做整数除法麻烦一些而得出的。通过实际代码来比较一下这差异。2 浮点数运算和整型...原创 2018-05-27 10:16:51 · 3032 阅读 · 0 评论 -
final关键字作用详解
final关键字作用详解目录1 final关键字常用应用场景 1.1 单例模式 1.2 静态配置文件解析后的初始化2 final关键字初始化3 在构造函数中参数用final关键字修饰的作用4 final在集合中的应用 4.1 将集合类对象定义为final 4.2 集合类中的对象设置为final5 final在数组中的应用在java中final关键字有第一无二的特性,就是只可以赋值一次,一旦...原创 2018-05-19 15:51:30 · 2247 阅读 · 0 评论 -
Java编程零基础快速入门教程索引
Java编程零基础快速入门教程索引20世纪初意大利经济学家巴莱多发现了一个有趣的规律: 在任何一组东西中,最重要的只占其中一小部分,约20%,其余80%尽管是多数,却是次要的,因此又称二八定律. 这个广泛的应用在了经济学管理学等领域.精心挑选了java中含金量高的知识点,希望你能用20%的努力获取80%的核心知识点。剩下的需要80%的努力获取余下的20%,那咱们就不着急, 边工作边学习。终究有一天...原创 2017-10-16 17:00:07 · 1621 阅读 · 0 评论 -
1.Java教程概述
转载请保留原文链接: http://dashidan.com/article/java/basic/1.html基础课程面向无编程基础的读者.由浅入深介绍Java语言.① 为什么会有这套课程网站起源② 为什么要学Java可以通过java找到程序员的工作,升职加薪,赢取白富美走上人生巅峰. java是一个经典的面向对象编程的语言. 很适合做为编程学习的入门语言,建立...原创 2017-10-17 16:59:31 · 243 阅读 · 0 评论 -
2.搭建Java开发环境
转载请保留原文链接: http://dashidan.com/article/java/basic/2.htmlSDK全称(Standard Development Kit),标准开发工具包. java和JDK的关系,就像鱼和水的关系. ① 下载Java SDK1.点击链接:JDK官网下载链接2.选中Java SE Development Kit 8u144中...原创 2017-10-17 17:05:38 · 260 阅读 · 0 评论 -
3.第一个Java程序HelloWorld
转载请保留原文链接: http://dashidan.com/article/java/basic/3.html① Hello WorldHello World起源: 1978年, Brian Kernighan写了一本书名叫《C 程序设计语言》,在程序员中广为流传. 他在这本书中第一次写出Hello World程序.当他被问及为什么选择Hello World时,他回答...原创 2017-10-17 17:09:48 · 452 阅读 · 0 评论 -
4.Java代码注释
转载请保留原文链接: http://dashidan.com/article/java/basic/4.html 注释也叫做注解.程序员写出的代码一方面是让计算机读懂并执行,另一方面是需要`人`能更好的理解和维护. 注释就是为了方便人的理解,给代码加上语言解释.这部分只需要人来读懂,而`计算机不执行`. 注释分为单行注释和多行注释. ① 单行注释以//开头,表示这一行是...原创 2017-10-17 17:12:57 · 236 阅读 · 0 评论 -
5.Java变量
转载请保留原文链接: http://dashidan.com/article/java/basic/5.html 所有的程序都使用变量临时存储各种数据, 在Java语言中变量必须在程序中被定义(或声明)后才能使用, 必须为每个变量确定一个具体类型.Java中变量分为基础类型变量和引用类型变量. ① 基础类型变量Java有八种基础类型变量. 分为数字类型(四个整...原创 2017-10-17 17:17:01 · 313 阅读 · 0 评论 -
HashMap与ConcurrentHashMap的区别与应用场景
HashMap与ConcurrentHashMap的区别与应用场景目录1 HashMap与ConcurrentHashMap多线程同步的误区 1.1 编码思路 1.2 需要验证的结论 1.3 验证代码2 HashMap应用场景 2.1 HashpMap多线程情况下的ConcurrentModificationException 2.3 推荐HashMap应用场景3 推荐Concurren...原创 2018-05-19 15:53:30 · 13845 阅读 · 5 评论 -
HashMap中的put和putIfAbsense区别
HashMap中的put和putIfAbsense区别目录1 HashMap中put方法和putIfAbsent方法区别2 HashMap如何判断key是否存在 2.1 hash()方法 2.2 hashCode()方法HashMap集合类中有put()方法,还提供了一个putIfAbsent方法,在项目中一个同事用错putIfAbsent方法,从而导致了一个比较严重的bug。在本文中总结了一...原创 2018-05-19 15:55:12 · 3523 阅读 · 0 评论 -
24.transient关键字详解
24.transient关键字详解目录1 接口 Serializable2 序列化与反序列化3 transient关键字 3.1 JDK中transient关键字应用举例 3.2 对象序列化transient关键字应用举例我在自己的项目中很少使用transient关键字。这个关键字的作用是和序列化相关的。JDK的源码中ArrayList类用到了transient关键字.整理一下这个关键字相关的...原创 2018-05-27 10:00:26 · 1280 阅读 · 0 评论 -
【效率优化专题】2.java数组拷贝的3种方式和效率对比
2.java数组拷贝的3种方式和效率对比目录1 测试场景 1.1 初始化数组 1.1 for循环拷贝数组 1.2 Arrays.copyOf拷贝数组 1.3 System.arraycopy复制数组 1.4 clone()方法拷贝数组2 测试这几种复制方法 2.1 示例代码3 结论Java语言中常用的数组拷贝方式有:for循环拷贝,通过Arrays.copyOf()方法,System....原创 2018-05-27 10:15:33 · 610 阅读 · 0 评论 -
[程序效率优化专题]1.for循环中的效率优化
1.for循环中的效率优化目录1 for循环和增强for循环的选择 1.1 实验场景2 for循环遍历HashMap的优化在编码中,我们像竞技运动员一样追求更快的速度。追求最优的算法,看到一些同学的编码质量停留着实现功能的层面,距离最优编码相差很远。所以一直想整理一下自己在实际项目遇到的问题和效率优化的文章和大家分享一下。本文是该系列文章的第一篇。for循环的效率优化。1 for循环和增强for...原创 2018-05-27 10:14:21 · 811 阅读 · 0 评论 -
4.ConcurrentModifyException的产生原因及如何避免
4.ConcurrentModifyException的产生原因及如何避免目录1 关于ConcurrentModificationException2 单线程触发场景举例 2.1 单线程触发举例 2.2 解决单线程环境的ConcurrentModificationException异常 2.3 ArrayList集合改为CopyOnWriteArrayLis 2.4 通过迭代器遍历删除 ...原创 2018-05-27 10:13:12 · 405 阅读 · 0 评论 -
5.Java随机数Random类
5.Java随机数Random类目录1 随机生成一个整数2 随机生成一定范围内的整数3 随机从数组中取一个值4 随机生成不重复的值随机数Random类是在做随机规则时需要用到的类。用途很广,比如随机抽奖,随机密码,随机验证码,随机奖励等,随机数,计算概率等。1 随机生成一个整数Random random = new Random();/** 随机产生一个整数,包括正负数*/for (int i...原创 2018-05-27 10:11:51 · 697 阅读 · 0 评论 -
4.ConcurrentModifyException的产生原因及如何避免
4.ConcurrentModifyException的产生原因及如何避免目录1 关于ConcurrentModificationException2 单线程触发场景举例 2.1 单线程触发举例 2.2 解决单线程环境的ConcurrentModificationException异常 2.3 ArrayList集合改为CopyOnWriteArrayLis 2.4 通过迭代器遍历删除 ...原创 2018-05-27 10:10:15 · 7782 阅读 · 0 评论 -
3.java ArrayList原理及转化成数组常用方法
3.java ArrayList原理及转化成数组常用方法目录1 ArrayList底层原理 1.1 ArrayList内部存储对象 1.2 ArrayList检测内部容量 1.3 ArrayList内部数组扩容 1.4 ArrayList的get方法原理2 ArrayList转化为数组常用方式 2.1 遍历ArrayList转化数组 2.2 ArrayList.toArray()方法 ...原创 2018-05-27 10:07:12 · 492 阅读 · 0 评论 -
2.HashMap中的put和putIfAbsense区别
2.HashMap中的put和putIfAbsense区别目录1 HashMap中put方法和putIfAbsent方法区别2 HashMap如何判断key是否存在 2.1 hash()方法 2.2 hashCode()方法HashMap集合类中有put()方法,还提供了一个putIfAbsent方法,在项目中一个同事用错putIfAbsent方法,从而导致了一个比较严重的bug。在本文中总结...原创 2018-05-27 10:05:26 · 528 阅读 · 0 评论 -
HashMap与ConcurrentHashMap的区别与应用场景
1.HashMap与ConcurrentHashMap的区别与应用场景目录1 HashMap与ConcurrentHashMap多线程同步的误区 1.1 编码思路 1.2 需要验证的结论 1.3 验证代码2 HashMap应用场景 2.1 HashpMap多线程情况下的ConcurrentModificationException 2.3 推荐HashMap应用场景3 推荐Concurr...原创 2018-05-27 10:02:49 · 9631 阅读 · 4 评论 -
9.Java流程控制
转载请保留原文链接: http://dashidan.com/article/java/basic/9.html 流程控制语句是编程语言中的核心之一,可以分为`分支语句`(if, else),`跳转语句`(switch)和`循环语句`(for, while). ① 分支语句if, else属于分支语句,意思是根据条件执行语句. if-else 流程控制中,只会...原创 2017-10-17 20:00:02 · 182 阅读 · 0 评论 -
6.Java集成开发环境
转载请保留原文链接: http://dashidan.com/article/java/basic/6.html 工欲善其事, 必先利其器.–《论语·卫灵公篇》 写代码的时候一般有几种方式: 命令行直接输入, 通过文本编辑工具和通过集成开发环境.① 命令行直接输入这个一般适合脚本类的语言,比如:python, nodejs等, 可以直接通过命令行执行一些简单的逻...原创 2017-10-17 20:20:35 · 1705 阅读 · 1 评论 -
7.Java运算符
7.Java运算符转载请保留原文链接: http://dashidan.com/article/java/basic/7.html① Java算数运算符Java算数运算符: 加, 减, 乘, 除(取模, 取余), 算数运算符从右往左赋值.即将等号右边的值,赋给等号左边的变量.加+int a = 1;int b = 2;int c = a + b;System.out....原创 2017-10-17 20:24:16 · 274 阅读 · 0 评论 -
20.Java设计模式
20.Java设计模式转载请保留原文链接: http://dashidan.com/article/java/basic/20.html软件设计领域的四位世界级大师Gang Of Four (GoF):Erich Gamma, Richard Helm, Ralph Johnson,John Vlissides合著了一本非常著名的书《Design Patterns - Elements ...原创 2017-10-19 17:12:53 · 385 阅读 · 0 评论 -
21.Java编码优化
21.Java编码优化转载请保留原文链接: http://dashidan.com/article/java/basic/21.html清晰的代码结构, 就像读一个优美的文章,赏心悦目.这个正是我们追求的, 代码逻辑的美, 只有程序员懂.① 写代码前的准备编码思想 写出更优雅的代码,超越实现功能的要求.熟悉常用的设计模式.编码规范 java编码规范.工具统一 多人...原创 2017-10-19 17:15:15 · 469 阅读 · 0 评论 -
22.jvm参数优化
22.jvm参数优化转载请保留原文链接: http://dashidan.com/article/java/basic/22.htmlJava虚拟机简称JVM(Java Virtual Machine).像一个构造十分精密的仪器, 提供了一些可以调控机器运行状态的参数.这些参数需要根据自己的实际的生产环境的要求来设置.就像头文字D中的那辆车86, 只有经过对应的配置和调试, 才能达到跑...原创 2017-10-19 16:47:55 · 286 阅读 · 0 评论 -
19.Java线程
19.Java线程转载请保留原文链接: http://dashidan.com/article/java/basic/19.html部分内容源自:《深入理解JVM虚拟机》.① 线程和进程的概念进程是指一个内存中运行有自己独立的一块内存空间的应用程序.一个进程中至少一个线程.线程是指进程中的一个执行流程.每个线程有独立的运行栈. 线程从属于进程. 一个进程中可以运行多个...原创 2017-10-18 11:14:45 · 296 阅读 · 0 评论 -
18.Java转义字符
18.Java转义字符转载请保留原文链接: http://dashidan.com/article/java/basic/18.html所有的ASCII码都可以用”\”加数字(一般是8进制数字)来表示. Java语言中定义了一些字母前加”\”来表示特殊含义的字符, 如\0,\t,\n等, 称为转义字符(Escape Character).① 斜线与反斜线/ 斜线(sla...原创 2017-10-18 11:10:58 · 587 阅读 · 0 评论 -
10.Java命名空间
转载请保留原文链接: http://dashidan.com/article/java/basic/10.html`class`是Java的一个关键字,用来标识这是一个`类`文件.这个类文件相当于是`对象模板`.通过创建(`new`)对象模板(`class`)的方式创建一个对象(`Object`).这就是Java面向对象编程的基础.`new`是Java在内存(`堆`)中`创建对象`的关键字....原创 2017-10-18 10:49:44 · 2197 阅读 · 0 评论 -
11.Java数组
11.Java数组转载请保留原文链接: http://dashidan.com/article/java/basic/11.html数组是同一种类型数据,固定长度的集合. ① 数组的定义—数组的定义格式: 元素类型[] 数组名 = new 元素类型[元素个数或数组长度];例: int[] arr = new int[5];...原创 2017-10-18 10:53:08 · 187 阅读 · 0 评论 -
12.Java静态变量与常量
12.Java静态变量与常量转载请保留原文链接: http://dashidan.com/article/java/basic/12html`static`修饰的成员变量和成员方法习惯上称为静态变量和静态方法,可以直接通过类名来访问. 只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们. 因此`static`修饰的变量和方法,可以在它所属的对象创...原创 2017-10-18 10:56:44 · 559 阅读 · 0 评论 -
13.Java对象
13.Java对象转载请保留原文链接: http://dashidan.com/article/java/basic/13.html Java是`OOP`(Object Oriented Programming)面向对象编程语言. java面向对象的三大特点: 封装, 继承和多态. ① Java中万事万物皆对象?Java中万事万物皆对象? 这个说法的由来, ...原创 2017-10-18 10:59:19 · 227 阅读 · 0 评论 -
14.Java包装类
14.Java包装类转载请保留原文链接: http://dashidan.com/article/java/basic/14.htmlJava语言是一个面向对象的语言,但Java中的基本数据类型却是不面向对象的. 这在实际使用时存在很多的不便.为了解决这个不足(例如:集合类中只能存放对象, 不能存放基本类型数据), 在设计类时为每个基本数据类型设计了一个对应的类进行代表, 这样八个和基...原创 2017-10-18 11:02:25 · 221 阅读 · 0 评论 -
15.Java集合类
15.Java集合类转载请保留原文链接: http://dashidan.com/article/java/basic/15.htmlJava集合类是java提供的工具包,包含了常用的数据结构:集合、链表、队列、栈、映射等.Java集合类主要可以划分为4个部分:List列表、Set集合、Map映射、工具类(Iterator迭代器、Enumeration枚举类、Arrays和Collect...原创 2017-10-18 11:04:45 · 249 阅读 · 0 评论 -
16.Java异常
16.Java异常转载请保留原文链接: http://dashidan.com/article/java/basic/16.htmlJava异常是Java提供的一种识别及响应错误的一致性机制.① Java异常机制相关关键字Java异常机制相关关键字有: try、catch、finally、throw、throws. 关键字解释: try 用于监听. 将被监听的...原创 2017-10-18 11:06:40 · 202 阅读 · 0 评论 -
17.Java位运算
17.Java位运算转载请保留原文链接: http://dashidan.com/article/java/basic/17.html位运算是通过二进制计算的方式来改变数据.位运算表达式由操作数和位运算符组成,实现对整数类型的二进制数进行位运算.位运算符可以分为逻辑运算符(包括~,&,|和^)及移位运算符(包括>>,① Java进位方式在Java语言中, 二进...原创 2017-10-18 11:08:56 · 282 阅读 · 0 评论