自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 树先序遍历

#树先序遍历#1递归形式不用说#2用一个栈每次加入的右左节点,(用队列加入左右节点就是层序便利了)#3根据表现写的根据前序遍历访问的顺序,优先访问根结点,然后再分别访问左孩子和右孩子。即对于任一结点,其可看做是根结点,因此可以直接访问,访问完之后,若其左孩子不为空,按相同规则访问它的左子树;当访问其左子树时,再访问它的右子树。因此其处理过程如下:public static ArrayList preOrder1(TreeNode root){ Stack<TreeNode>

2020-06-30 18:38:27 274 1

原创 java内存模型

一、Java内存模型:1、主内存和工作内存(即是本地内存):  Java内存模型的主要目标是定义程序中各个变量的访问规则,即在JVM中将变量存储到内存和从内存中取出变量这样的底层细节。此处的变量与Java编程里面的变量有所不同步,它包含了实例字段、静态字段和构成数组对象的元素,但不包含局部变量和方法参数,因为后者是线程私有的,不会共享,当然不存在数据竞争问题(如果局部变量是一个referenc...

2019-06-23 21:34:51 95

原创 java异常处理

Java异常的分类Java异常的类间关系ThrowableThrowable是Java语言中所有错误或异常的超类,它有两个直接子类Error / Exception。只有当对象是此类(或其子类之一)的实例时,才能通过 Java虚拟机或者throw语句抛出。类似地,只有此类或其子类之一才可以是catch子句中的参数类型。Throwable包含了其线程创建时线程执行堆栈的快照,它提供了p...

2019-06-23 21:32:07 120

原创 可变类型和不可变类型

可变类型的对象:提供了可以改变其内部数据值的操作,其内部的值可以被重新更改。不可变数据类型:其内部的操作不会改变内部的值,一旦试图更改其内部值,将会构造一个新的对象而非对原来的值进行更改。#注意:可变类型使用hashmap的情况HashMap用Key的哈希值来存储和查找键值对。当插入一个Entry时,HashMap会计算Entry Key的哈希值。Map会根据这个哈希值把Entry插入到相...

2019-06-23 21:09:40 911

原创 静态类型检查

静态类型检查是基于对程序源代码的分析来验证程序的类型安全性的过程。动态类型检查是在运行时验证程序的类型安全性的过程。另一种解释为静态类型 statically: 如果在编译时拒绝ill behaved程序,则是statically typed;动态类型dynamiclly: 如果在运行时拒绝ill behaviors, 则是dynamiclly typed。例子:class A { ...

2019-06-23 20:51:07 2648

转载 多进程基础概念

多进程基础知识并发与并行并行:表示两个线程同时做事情。并发:表示一会做这个事情,一会做另一个事情,存在着调度。单核 CPU 不可能存在并行(微观上)。临界区临界区用来表示一种公共资源或者说是共享数据,可以被多个线程使用。但是每一次,只能有一个线程使用它,一旦临界区资源被占用,其他线程要想使用这个资源,就必须等待。阻塞与非阻塞阻塞和非阻塞通常用来形容多线程间的相互影响。比如一个线程占用...

2019-06-23 20:30:19 116

原创 适配器模式

为什么需要适配器模式?在软件系统中,由于应用环境的变化,常常需要将“一些现存的对象”放在新的环境中应用,但是新环境要求的接口是这些现存对象所不满足的。那么如何应对这种“迁移的变化”?如何既能利用现有对象的良好实现,同时又能满足新的应用环境所要求的接口?正是Adapter 模式解决了这些问题:适配器模式的作用:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容...

2019-06-23 20:03:28 83

原创 Lab1

Lab1_p2它这个就刚学的凸包要现学现用,其他的难点我觉得都是题目问题(题目是英文的有点难理解)。需要注意的点根据角度确定多边形时要用math.round函数可以直接把一个数字舍入为最接近的整数,要是直接取整,可能会遇到舍入问题(如:6.999999999舍入到6)计算偏转角度时要注意它和数学上的极坐标不太一样,数学上的极坐标是x正半轴为0,而用java的atan2()函数y轴正半轴为0...

2019-03-11 23:51:12 210

原创 test

testok this fine欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全...

2019-03-01 19:34:04 132

空空如也

空空如也

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

TA关注的人

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