自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java

2019-11-19 23:13:41 114 1

原创 Java 文档注释

一. Java 支持三种注释方式。前两种分别是//和/* */,第三种被称作说明注释,它以/**开始,以*/结束。二.javadoc 标签javadoc 工具软件识别以下标签:标签 描述 示例 @author 标识一个类的作者 @author description @deprecated 指名一个过期的类或成员 @deprec...

2019-11-18 23:27:43 113

原创 java多线程2

一. Thread 方法:1 public void start() 使该线程开始执行;Java虚拟机调用该线程的run方法。 2 public void run() 如果该线程是使用独立的Runnable运行对象构造的,则调用该Runnable对象的run方法;否则,该方法不执行任何操作并返回。 3 public final void ...

2019-11-17 22:39:57 109

原创 Java 多线程编程

一.概念:一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。二.一个线程的生命周期如下:注解:新建状态: 使用new关键字和Thread类或其子类建立一个线程对象后,该线程对象就处于新建状态。它保持这个状态直到程序start()这个线程。 就绪状态: 当线程对象调用了start()方法之后,该线程就进入就绪状...

2019-11-16 21:21:00 236

原创 Java 发送邮件

一. 安装过程:下载链接:JavaMail mail.jar 1.4.5 JAF(版本 1.1.1) activation.jar 下载并解压缩这些文件,在新创建的顶层目录中,您会发现这两个应用程序的一些 jar 文件。您需要把mail.jar和activation.jar文件添加到您的 CLASSPATH 中。二.发送一封简单的 E-mail// 文件名 S...

2019-11-16 00:49:39 220

转载 Java序列化2

Java 序列化和反序列化(一)Serializable 使用场景以下为 Java 序列化系列文章:1. Java 序列化和反序列化(一)Serializable 使用场景2. Java 序列化和反序列化(二)Serializable 源码分析 - 13. Java 序列化和反序列化(三)Serializable 源码分析 - 2将 Java 对象序列化为二进制文件的 Java 序列...

2019-11-14 23:51:12 83

原创 Java 序列化

一. 概念:Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据、有关对象的类型的信息和存储在对象中数据的类型。将序列化对象写入文件之后,可以从文件中读取出来,并且对它进行反序列化,也就是说,对象的类型信息、对象的数据,还有对象中的数据类型可以用来在内存中新建对象。整个过程都是 Java 虚拟机(JVM)独立的,也就是说,在一个平...

2019-11-13 19:47:25 54

原创 Java 泛型

一.Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。二.定义泛型方法的规则:所有泛型方法声明都有一个类型参数声明部分(由尖括号分隔),该类型参数声明部分在方法返回类型之前(在下面例子中的<E>)。 每一个...

2019-11-11 23:02:35 59

原创 Map接口2

Map学习体系:---| Map 接口 将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。 ---| HashMap 采用哈希表实现,所以无序 ---| TreeMap 可以对健进行排序---|Hashtable:底层是哈希表数据结构,线程是同步的,不可以存入null键,null值。效率较低,被H...

2019-11-11 02:51:38 160

转载 Map接口

一. 复习:Java Map 接口Map接口中键和值一一映射. 可以通过键来获取值。给定一个键和一个值,你可以将该值存储在一个Map对象. 之后,你可以通过键来访问对应的值。 当访问的值不存在的时候,方法就会抛出一个NoSuchElementException异常. 当对象的类型和Map里元素类型不兼容的时候,就会抛出一个 ClassCastException异常。 当在不允许使用N...

2019-11-09 23:37:36 147

原创 Java 集合框架

一. 集合框架被设计成要满足以下几个目标。 该框架必须是高性能的。基本集合(动态数组,链表,树,哈希表)的实现也必须是高效的。 该框架允许不同类型的集合,以类似的方式工作,具有高度的互操作性。 对一个集合的扩展和适应必须是简单的。 二.集合框架图:注解:Java 集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图...

2019-11-07 23:38:55 165

原创 MySQL基本命令语法

1.创建数据库语法如下:CREATE DATABASE 数据库名;2. 删除数据库语法如下:drop database <数据库名>;3.创建数据库表语法如下:CREATE TABLE table_name (column_name column_type);实例:CREATE TABLE IF NOT EXISTS `runoob_tbl`( ...

2019-11-06 23:21:44 90

原创 Java数据结构下

一.栈(Stack)栈(Stack)实现了一个后进先出(LIFO)的数据结构。你可以把栈理解为对象的垂直分布的栈,当你添加一个新元素时,就将新元素放在其他元素的顶部。当你从栈中取元素的时候,就从栈顶取一个元素。换句话说,最后进栈的元素最先被取出。实例:二.Java Map 接口 (替代字典)Map接口中键和值一一映射. 可以通过键来获取值。给定一个键和一个值,你...

2019-11-05 21:35:42 75

原创 Java 数据结构

一.Java 数据结构主要包括以下几种接口和类:枚举(Enumeration) 位集合(BitSet) 向量(Vector) 栈(Stack) 字典(Dictionary) 哈希表(Hashtable) 属性(Properties)二.枚举(Enumeration)枚举(The Enumeration)接口定义了一种从数据结构中取回连续元素的方式。三....

2019-11-05 00:12:23 96

原创 Java 包(package)

一. 目的:Java 使用包(package)这种机制是为了防止命名冲突,访问控制,提供搜索和定位类(class)、接口、枚举(enumerations)和注释(annotation)等。二. 包的作用 1、把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。 2、如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相...

2019-11-03 22:02:35 140

原创 Java 接口

一.接口(Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。二.接口特性1. 接口中每一个方法也是隐式抽象的,接口中的方法会被隐式的指定为public abstract(只能是 public abstract,其他修饰符都会报错)。2. 接口中可以含有变量,但是接口中...

2019-11-02 23:38:24 59

原创 Java封装

一. 封装:封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部份包装、隐藏起来的方法。二.优点: 1. 良好的封装能够减少耦合。 2. 类内部的结构可以自由修改。 3. 可以对成员变量进行更精确的控制。 4. 隐藏信息,实现细节 三.实现步骤:1. 修改属性的可见性来限制对属性的访问(一般限制为private)2. ...

2019-11-01 00:27:29 95

原创 Java 抽象类

一. 由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用在Java中抽象类表示的是一种继承关系,一个类只能继承一个抽象类,而一个类却可以实现多个接口。二.继承抽象类三.抽象方法如果你想设计这样一个类,该类包含一个特别的成员方法,该方法的具体实现由它的子类确定,那么你可以在父类中声明该方法为抽象方法。Abstract 关键字同样可以用来声明抽象方法,抽象方...

2019-10-30 21:42:38 757

原创 Java 多态

一.多态存在的三个必要条件继承 重写 父类引用指向子类对象:Parent p = new Child();二.多态的优点1. 消除类型之间的耦合关系 2. 可替换性 3. 可扩充性 4. 接口性 5. 灵活性 6. 简化性三.实例:四.重写来实现多态五.多态的实现方式方式一:重写:方式二:接口方式三:抽象类和抽象方法...

2019-10-29 21:41:08 80

原创 Java 重写(Override)与重载(Overload)

一.方法的重写规则 参数列表必须完全与被重写方法的相同。 返回类型与被重写方法的返回类型可以不相同,但是必须是父类返回值的派生类(java5 及更早版本返回类型要一样,java7 及更高版本可以不同)。 访问权限不能比父类中被重写的方法的访问权限更低。例如:如果父类的一个方法被声明为 public,那么在子类中重写该方法就不能声明为 protected。 父类的...

2019-10-28 23:54:09 50

原创 java继承

一. 类的继承格式:class 父类 {}class 子类 extends 父类 {}二.继承类型三.继承的特性 子类拥有父类非 private 的属性、方法。 子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。 子类可以用自己的方式实现父类的方法。 Java 的继承是单继承,但是可以多重继承,单继承就是一个子类只能继承一...

2019-10-27 23:02:27 170

转载 RuntimeException

一. 理解:runtime exception,也称运行时异常,我们可以不处理。出现运行时异常后,系统会把异常一直往上层抛,一直遇到处理代码。如果没有处理块,到最上层,如果是多线程就由Thread.run()抛出,如果是单线程就被main()抛出。抛出之后,如果是线程,这个线程也就退出了。如果是主程序抛出的异常,那么这整个程序也就退出了。运行时异常是Exception的子类,也有一般异常的特点...

2019-10-26 21:06:21 27330

原创 声明自定义异常

在 Java 中你可以自定义异常。编写自己的异常类时需要记住下面的几点。所有异常都必须是 Throwable 的子类。 如果希望写一个检查性异常类,则需要继承 Exception 类。 如果你想写一个运行时异常类,那么需要继承 RuntimeException 类。可以像下面这样定义自己的异常类:class MyException extends Exception{ }只继承E...

2019-10-25 20:20:47 203

原创 Java 异常处理

一. 异常类型:检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略。 运行时异常:运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略。 错误:错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如,当栈溢出时,一个错误就发生了,它们...

2019-10-25 00:41:54 136

原创 Java Scanner 类

创建 Scanner 对象的基本语法:Scanner s = new Scanner(System.in);next() 与 nextLine() 区别next():1、一定要读取到有效字符后才可以结束输入。 2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。 3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。 next() 不能得到带...

2019-10-23 00:07:59 56

原创 文件(File)和IO

1.FileInputStream使用一个文件对象来创建一个输入流对象来读取文件。我们首先得使用 File() 方法来创建一个文件对象:File f = new File("C:/java/hello"); InputStream out = new FileInputStream(f);2.FileOutputStream使用一个文件对象来创建一个输出流来写文件。我们首先得使...

2019-10-21 22:39:28 72

原创 Java 流(Stream)、文件(File)和IO

一.Java.io 包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。从控制台读取多字符输入read( )方法二. 控制台输出三. FileInputStream该流用于从文件读取数据,它的对象可以用关键字 new 来创建。有多种构造方法可用来创建对象。可以使用字符串类型的文件名来创建一个输入流对象来读取文件:InputStream ...

2019-10-21 01:07:20 57

原创 Java方法2

1.方法的重载创建另一个有相同名字但参数不同的方法。重载的方法必须拥有不同的参数列表。你不能仅仅依据修饰符或者返回类型的不同来重载方法。举例:2.构造方法:当一个对象被创建时候,构造方法用来初始化该对象。构造方法和它所在类的名字相同,但构造方法没有返回值。通常会使用构造方法给一个类的实例变量赋初值,或者执行其它必要的步骤来创建一个完整的对象。3.可变参数语法:ty...

2019-10-19 17:46:30 99

原创 Java方法

一.方法的定义一般情况下,定义一个方法包含以下语法:修饰符 返回值类型 方法名(参数类型 参数名){ ... 方法体 ... return 返回值; }方法包含一个方法头和一个方法体。下面是一个方法的所有部分:修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。 返回值类型 :方法可能会返回值。returnValueType 是方法返回值的数据类型。有些...

2019-10-18 23:43:08 74

原创 Java正则表达式基础

一. java.util.regex包主要由以下三个类组成 - Pattern类 - Pattern对象是正则表达式的编译表示。 Pattern类不提供公共构造函数。 要创建模式,需要首先调用它的公共静态compile()方法,然后返回Pattern对象。 这些方法接受正则表达式作为第一个参数。 Matcher类 - Matcher对象是解释模式并对输入字符串执行匹配操作的引擎。 ...

2019-10-17 21:13:18 192

原创 疯狂人类进化史

导读:其实,你不懂自己的身体你并没有那么了解自己的身体,身体进化的每个环节都隐藏着难以参透的玄机,每个细微的变化都潜伏着令人击节赞叹的博弈,每个成就都蕴含着复杂的进化逻辑。从现在反观我们人类自己,你会发现很多人类独有的进化特征是其他大多数哺乳动物没有的。可能现在的我们觉得长成这样子理所当然,因为我们本来就是这样子,以前是,现在,未来肯定也是这样。因此我们下意识就认为人就应该长这样。毕竟每...

2019-08-18 01:19:28 216

原创 第三本书:人类简史20190630

第一部分 认知革命第一章 人类:一种也没什么特别的动物人类历史上的三大革命:1. 大约7万年前,“认知革命”(Cognitive Revolution)让历史正式启动。2. 大约12000年前,“农业革命”(Agricultura Revolution)3. 大约500年前,“科学革命”(Scientific Revolution)。家族第一次大迁徙最早的人类是从大约250万年前的...

2019-06-30 17:40:31 287

原创 第二本书:疯狂人类进化史20190629

最后一章节:第9章 为什么动物只交配,人类却要结婚1 婚姻是男人和女人的结合,本质却是精子与卵子的结合。2 男性的策略:男人沉迷于风花雪月,总是试图寻找更多的女人,同时确保自己的女人不被别人染指;女人的策略:而女人则相对保守,她们需要得到更为可靠的男人,并用尽心意使他们不再移情别恋。3 婚配制度都不是随意碰撞闪现的火花,更不是简单的排列组合游戏,而是雌雄两性生育状况与自然环境相互制约的...

2019-06-30 17:20:32 604

原创 第二本书:疯狂人类进化史20190626

第二本书:疯狂人类进化史第六章:女人为什么比男人漂亮动物界有一个常见现象,雄性的外表往往远比雌性华丽醒目,公鸡是常见的例子,它们在灰扑扑的母鸡群中是那么的光彩照人。更不要说艳惊四座的雄孔雀了,而雌孔雀的羽毛色泽却和母鸡差不多,落在枯草丛中就难觅身影。只有人类是明显的例外1. 女人比男人漂亮的进化逻辑:直立行走造成的生育困境,面临困境的女人必须留住男人共同抚养后代,而合作抚养后代的最佳模式是一...

2019-06-26 09:36:44 155

原创 第二本书:疯狂人类进化史20190625

第五章:

2019-06-25 19:30:26 205

原创 第二本书:疯狂人类进化史20190624

第四章:大脑袋不一定有大智慧进化史上的奇迹1.直立行走给人类带来了强烈的狩猎欲望,狩猎水平因此不断得到提高,人类吃到的肉食越来越多,营养水平持续改善带来了全方位的好处,为更加高大的身体奠定了物质基础。而复杂的身体需要复杂的大脑,这对于野外生存来说至关重要。2.刺激大脑快速进化的因素: 2.1. 最重要的:直立行走 2.2 双手:万能工具,负责感觉与触摸,对促进情感...

2019-06-24 22:54:53 280

原创 第二本书疯狂人类进化史20190623

第3章 肤色中隐藏的进化奥秘1. 性选择应该也必须与自然选择达成某种妥协,所以,人们不能放任对白色皮肤的喜爱而置自然选择于不顾,也不能任由自然选择留下越来越黑的皮肤而罔顾性选择的偏好。人类应该在白色皮肤的性感与黑色皮肤的健康之间寻找平衡。2. 好奇心的探索之旅开始:生物进化本就扑朔迷离,困难重重,不太可能有一种简单的理论就可以解释,只能是多种理论综合猜测的结果。3. 人类的皮肤为什么会变成...

2019-06-23 21:54:10 160

原创 第二本书:疯狂人类进化史20190622

第二章:人为什么不长毛1. 有毛的好处:保暖,伪装,表达情感,帮助动物彼此相认2. 解释除了人类之外不长毛的动物:裸鼹鼠,鲸鱼,海豚,大象3. 如何推测人体体毛脱落的的地质时代:肤色变化4. 人类不想长毛的假设或者说推测:幼太持续效应,穿衣理论,辨认,寄生虫假说水猿理论比较合理的假设:散热理论或者狩猎理论5. 疯狂的捕猎马拉松对于食草动物而言,早期人类的长途追杀非常可怕,他们不...

2019-06-23 21:50:35 117

原创 第二本书:疯狂人类进化史20190621

第二本书:疯狂人类进化史导读:其实,你不懂自己的身体1. 你并没有那么了解自己的身体,身体进化的每个环节都隐藏着难以参透的玄机,每个细微的变化都潜伏着令人击节赞叹的博弈,每个成就都蕴含着复杂的进化逻辑。一起探索人类身世的秘密。第一章:双手走出来的进化“人类的祖母”:露西1. 直立行走是人类区别于其他生物最明显的特征。2.直立行走的三个重要特征:足弓、骨盆、膝盖骨3. 原始人类可能在下...

2019-06-23 21:49:42 668

原创 第二本书:疯狂人类进化史20190620

导读:其实,你不懂自己的身体1. 你并没有那么了解自己的身体,身体进化的每个环节都隐藏着难以参透的玄机,每个细微的变化都潜伏着令人击节赞叹的博弈,每个成就都蕴含着复杂的进化逻辑。一起探索人类身世的秘密。第一章:双手走出来的进化“人类的祖母”:露西1. 直立行走是人类区别于其他生物最明显的特征。2.直立行走的三个重要特征:足弓、骨盆、膝盖骨3. 原始人类可能在下地之前就已具备了直立本领...

2019-06-23 21:48:24 103

空空如也

空空如也

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

TA关注的人

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