自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(109)
  • 收藏
  • 关注

转载 Collections的 sort方法

Collections的sort方法可以对List类型的集合进行排序,具体如下:import java.util.*;public class _2 { //使用Collections进行排序 public static void main(String[] args) { HashSet<Integer> set=n...

2019-09-16 17:42:00 323

转载 多线程问题的一些模型

1.一个多线程实例:描述:某个火车售票系统,有多个窗口,但是票只在同一个系统中存有:设计思路: 只存在一个系统: 设计细节:使用单例设计模式确保多窗口公用一个对象, 使用Vector集合框架保证线程的并发的安全性; 多个窗口卖票,使用多线程模拟多...

2019-09-11 01:10:00 176

转载 24_____二叉树中和为某一值的路径

import java.util.ArrayList;/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; ...

2019-09-06 11:27:00 141

转载 设计模式之____创建型设计模式 5+1 简单工厂模式

创建型设计模式:创建型设计模式关注的是将对象的创建和使用相分离,让用户感受不到创建对象的细节问题,从而实现系统的解耦。通常创建型设计模式包含5中(注意简单工厂模式 不包含于23种设计模式)。所谓5+1即:简单工厂模式;(Simple Factory Pattern)工厂方法模式;抽象工厂模式;建造者模式;原型模式;单例模式;简单工厂模式:...

2019-09-06 01:56:00 132

转载 23_____二叉搜索树的后序遍历

知识摘要:1.二叉搜索树(又叫:二叉排序树,二叉查找树): 遵循: Tree.left.val<Tree.val<Tree.right.val. 所以它的中序遍历一定是一个有序列。2.其他一些树:满二叉树:从上往下,除了叶子结点外,其他结点的左右子节点都存在。完全二叉树:比满二叉树少几个叶子结点,叶子结点从左向右依次放置。平衡二叉树:它的左右子树...

2019-09-05 22:49:00 83

转载 22____从上往下打印二叉树

题目描述:从上往下打印出二叉树的每个节点,同层节点从左至右打印。import java.util.ArrayList;import java.util.LinkedList;/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = nu...

2019-09-05 15:53:00 63

转载 21_____栈的压入 弹出序列

题目描述:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)。import java.util.ArrayList;imp...

2019-09-04 20:37:00 74

转载 20_____包含main函数的栈

题目描述:定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。import java.util.Stack;import java.util.Iterator;public class Solution { Stack<Integer> s=new Stack<>(); ...

2019-09-04 20:08:00 78

转载 19____顺时针打印矩阵

题目描述:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.import java.util.ArrayList;public class Solutio...

2019-09-04 19:50:00 75

转载 18____二叉树的镜像

题目描述:操作给定的二叉树,将其变换为源二叉树的镜像。二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 1...

2019-09-04 18:56:00 65

转载 17____树的子结构

题目描述:输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)。/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { ...

2019-09-04 11:29:00 56

转载 16_____合并两个排序的链表

题目描述:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/publ...

2019-09-04 10:44:00 69

转载 15____反转链表

题目描述:输入一个链表,反转链表后,输出新链表的表头。/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution { ...

2019-09-04 09:51:00 58

转载 14_____链表中倒数第k个结点

题目描述:输入一个链表,输出该链表中倒数第k个结点。/*//链表的数据结构public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class ...

2019-09-04 09:28:00 69

转载 13____调整数组的顺序使得奇数位于偶数前

题目描述:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。public class Solution { //采用冒泡排序的思想进行交换 public void reOrderArray(int [] array) { ...

2019-09-03 11:19:00 74

转载 12_____数值的整数次方

题目描述:给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。保证base和exponent不同时为0。public class Solution { //考虑三种情况 : //指数==0 //指数>0 //指数<0 public...

2019-09-03 10:40:00 59

转载 11_______整数二进制中1的个数

题目描述:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。public class Solution { public int NumberOf1(int n) { //toCharArray() 转化成char型数组 char[] c=Integer.toBinaryString(n).toCharArray(...

2019-09-03 10:23:00 81

转载 创建型设计模式之____单例模式

单例模式保证了一个类的实例的全局唯一性。饿汉模式的单例模式:public class Singleton { //饿汉模式 private Singleton(){} //构造方法私有 private static Singleton singleton=new Singleton(); //在类内部创建实例对象 public...

2019-09-03 00:28:00 78

转载 10_____矩形覆盖

题目描述:我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?public class Solution {//类似于斐波那契数列的规律//f(n)=f(n-1)+f(n-2); public int RectCover(int target) { if(targe...

2019-09-02 23:02:00 78

转载 9_____变态跳台阶

题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。public class Solution { public int JumpFloorII(int target) { if(1==target){ //递归的出口 ...

2019-09-02 22:48:00 68

转载 8___跳台阶

题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。public class Solution { //思路:比如要跳到第6级 由于一次可以跳1级或者2级 //跳一级时:从第五级开始跳,有几种可以到第五级的方法就有几种可以到第六级的方法 //跳两级时:从第四级开始跳,有...

2019-09-02 19:38:00 80

转载 7____斐波那契数列

题目描述:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39。public class Solution { //求斐波那契数列的第n项 public int Fibonacci(int n) { //斐波那契额数列: 0,1,1,2,3,5。。。。 ...

2019-09-02 19:24:00 91

转载 6____旋转数组最小的数字

题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。import java.util.ArrayList;public class Soluti...

2019-09-02 17:07:00 83

转载 5___用两个栈实现队列

题目描述:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。import java.util.Stack;public class Solution { Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> st...

2019-09-02 15:20:00 41

转载 4____重构二叉树

题目描述:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。/** * Definition for binary tree * public class TreeNode { *...

2019-09-02 15:19:00 54

转载 3___从尾到头打印列表

题目描述:输入一个链表,按链表从尾到头的顺序返回一个ArrayList。/*** public class ListNode {* int val;* ListNode next = null;** ListNode(int val) {* this.val = val;* ...

2019-09-02 00:35:00 41

转载 2___替换空格

题目描述:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。public class Solution {//采用StringBuilder进行变换 public String replaceSpace(StringBuffer str) { ...

2019-09-02 00:14:00 44

转载 1___二维数组中的查找

题目描述:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解决代码:public class Solution { //思路:从左下角开始找: //比该元素大,往右找,比该元素小,往上找。 pu...

2019-09-01 23:53:00 44

转载 TCP和UDP协议的区别 ------- TCP/IP协议如何实现可靠性传输

1.TCP和UDP的区别:1.是否面向连接?TCP通过三次握手,建立连接。UDP是不用建立连接。2.是否可靠?TCP传输的是可靠并有序的数据UDP只是尽最大努力交付,不一定可靠3.UDP具有较好的实时性 适用场景:短消息,多客户端,对信息可靠性要求不高,对效率要求高。4.每一条TCP是点对点的,UDP支持更广泛 一对一,多对一,多对多。...

2019-09-01 14:21:00 185

转载 计算机网络-------TCP协议的三握四挥

TCP协议通信时,有建立连接(三次握手),数据交互,释放连接(四次挥手)。三握:形象描述一个打电话的场景 A(Client): 老弟,能听见么?在弄啥呢? B(Server):能听见能听见,想你了,你可以听见么? A(Client):能听啊,我也想你。四挥: 形象描述 A(Client):我没有数据要...

2019-09-01 08:55:00 125

转载 操作系统的常见调度算法

1.先来先服务算法(FCFS): 不可剥夺算法,实现简单,效率低下。2.短作业优先算法(SJF):在同时到达的进程中优先执行最短的进程。3.优先级调度算法:采用优先级来表示作业的紧急程度。又可分为:可剥夺优先级调度算法不可剥夺优先级调度算法根据优先级随后是否可变可分为:静态优先级调度算法动态优先级调度算法4.高响应比优先算法:...

2019-09-01 08:30:00 406

转载 类加载机制的学习4___类加载的过程

通过之前的学习,我们知道:类加载就是根据一个类的全限定名,将其字节码文件 加载到JVM内部,并创建java.lang.Class对象实例。其实,一个类的加载过程应包括:加载,连接(验证,准备,解析),初始化。加载: 通过类加载器,根据一个类的全限定名,将该类的字节码文件加载到JVM中(存储在方法区内),再创建java.lang.Class对象实例,由于JVM规范...

2019-08-29 11:37:00 56

转载 类加载机制的学习3___自定义的类加载器

在程序中实现一个自定的类加载器:继承ClassLoader抽象类,重写findClass()。 如下位一个实例代码:import java.io.*;import java.nio.ByteBuffer;import java.nio.channels.Channels;import java.nio.channels.FileChannel;import...

2019-08-26 15:12:00 46

转载 类加载机制的学习2_____双亲委派模型

通过之前的学习我们了解到了常见的三种类加载器:BootstrapClassLoader,ExtClassLoader,APPClassLoader,以及用户也可通过继承ClassLoader抽象类重新写findClass()来自定义类加载器。那么在类的加载中,怎么保证类的全局唯一性???在JVM中我们使用双亲委派机制来约定类加载器的加载机制。双亲委派模型: ...

2019-08-26 14:12:00 66

转载 类加载机制的学习1______类加载器

在学习类加载机制之前,我们先了解一下类加载器,因为类加载器是类加载机制的前提。类加载器的主要任务就是:根据一个类的全限定名,将该类的字节码文件加载进JVM中,然后转换为一个对应类的Java.lang.Class对象实例。程序员也可以自定义类加载器,一般的将派生于抽象类ClassLoader的类加载器都划分为自定义类加载器。 在程序中我们最常见的类加载器只有三个:Bo...

2019-08-26 08:23:00 68

转载 JVM的学习6____垃圾回收器GC

当我们了解完垃圾回收算法后,我们正式的一起来的JVM到自动内存管理工具的实现----即GC(即可完成内存分配,也可进行垃圾回收)。我们会了解到一些常见的GC版本,比如:Serial/Serial Old收集器,Parallel/Parallel Old收集器,CMS(Concurrent Mark Sweep)。 在了解GC之前我们先了解两个重要的概念:串行还是...

2019-08-24 00:28:00 60

转载 学习2____String,StringBuilder,StringBuffer

一:String:String类不可变的原因:底层是由private final char [ ]修饰的字符数组,这也决定了String类不可被继承(final修饰); 1.构造方法:由于在内存中存放的方式不同(常量池,堆),String可以使用常量进行赋值。//两种方式的构造方法:String str="123"; //引用类型,但可以向常量一样赋值,因...

2019-08-23 23:36:00 51

转载 SE的学习1_____集合框架

Collection接口:包含list 和set两个子接口(注意map不是Collection下的接口)List:有序可重复 ArrayList,LinkedList,Vector1.ArrayList:构造方法: 无参构造默认初始值大小为10,且每次扩容的大小为(原始容量*1.5+1);遍历问题:foreach,转换成数组,iterator(三种遍历方式...

2019-08-23 21:29:00 61

转载 JVM的学习5_____垃圾回收:分代收集算法

本文主要了解三种常用的垃圾收集算法:标记清除-算法(Mark Sweep);复制算法(Copying);标记-压缩算法(Mark-Compact);1.标记-清除算法(Mark Sweep): 此过程分为两个步骤:垃圾标记,垃圾清除。该算法相比于其他两个算法:执行效率低下,还容易产生内存碎片。 但是由于老年代的生命周期比较长,使用复制清除算法操...

2019-08-22 23:42:00 62

转载 JVM的学习4____GC的作用和垃圾的标记

1.GC的作用: GC(Garbage Collection)就是JVM中自动内存管理机制的具体实现。GC包括两大功能:内存的分配,垃圾的回收。内存的分配上一文章中已经介绍过,因为对象生命周期的差异性,故采使用分代垃圾回收策略。 那么如何评价一款GC的性能优劣呢???主要有如下的几个标准吞吐量(程序的运行时间/程序的运行时间+内存的回收时间);垃...

2019-08-22 23:25:00 162

空空如也

空空如也

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

TA关注的人

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