自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java并发笔记线程池

线程池线程池的优势降低资源消耗,通过重复利用已创建的线程降低线程创建和销毁造成的消耗提高响应速度,当任务到达时,任务可以不需要等到线程创建就能立即执行提高线程的可管理性,线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。但是要做到合理的利用线程池,必须对其原理了如指掌。演示代码public class Dem...

2019-10-08 22:08:21 103

原创 java并发笔记继续

提前完成任务之Future的使用简单用法:public class Demo { public static void main(String[] args) { Callable<Integer> call = new Callable<Integer>() { @Override public Integer call() throws Excep...

2019-10-07 16:50:03 124

原创 线程之间的通信2

ThreadLocal原理与使用每一个线程ThreadLocal都会为其保存一个局部变量public class Demo { private ThreadLocal<Integer> count = new ThreadLocal<Integer>() { protected Integer initialValue() { return new Inte...

2019-10-04 20:59:04 108

原创 线程之间的通信1

线程之间可能有依赖,如一个线程需要另一个线程的结果,或线程间有数据交互,所以需要通信下面一段代码public class Demo { private volatile int signal; public void set(int value) { this.signal = value; } public int get() { return signal; } pub...

2019-10-02 14:00:09 88

原创 Java并发总结3-AQS

AbstractQueuedSynchronizer(AQS)详解AQS是以后学习的锁,同步容器的基础

2019-09-30 22:09:51 97

原创 Java并发编程总结2

重入锁比如,两个方法都是使用同一个对象锁的,一个线程可以在第一个上锁的方法中去执行第二个上锁的方法public class Demo1 { public synchronized void a() { System.out.println("a"); b(); } public synchronized void b() { System.out.println("b");...

2019-09-27 21:43:07 91

原创 Java并发编程总结1

Synchronized原理与使用内置锁,互斥锁修饰普通方法/静态方法/代码块用javap -verbose ***.class查看字节码指令Synchronized字节码指令用monitorinter与monitorexit对象头部的信息Mark Word(锁的信息就在这里)Class Metadata AddressArray Length偏向...

2019-09-27 10:38:14 84

原创 阿里春季实习机考的一道题,分配奖金

题目大概是这样,小明和小华分奖金有独特的方法,由一个程序来决定奖金的归属,首先产生一列数组,值在0到1之间,p1,p2,…pn,首先是以p1概率小明抽到全部奖金,若没有,则小华以p2概率抽奖金,以此类推,一旦奖金分配,则程序停止,如果n次还没有分配出去,则从p1从新开始,若上轮最后一次是某人,则这轮开始是另一个人,直到100轮,若还是没有分配出去,则放弃奖金输入N+1行,第一行是整数n,然后n行...

2019-04-13 13:40:02 319

原创 华为19春实习的一道机考题,求蜜蜂的总距离最短

简单的叙述一下题#include<iostream>#include<string>#include<algorithm>using namespace std;class point {public: point(){} point(int m_x, int m_y) { x = m_x; y = m_y; }public: in...

2019-03-29 20:59:26 708 1

原创 华为的一道机考题,大端与小端

现定义一种字符编码,其编码格式如下:第一个字符表示后续8个字符序(字符‘0’表示小端,字符‘1’表示大端)后续8个字符,每个字符代表一个字节编码解析之后字符串采用大端模式例如编码组“012345678”,解析之后的大端字符串为“87654321”,编码组“112345678”,解析之后的大端字符串为“12345678”一次可以连续输入很多个编码组很简答,代码如下#include &l...

2019-03-28 14:01:36 2020

原创 实现二叉树的前中后遍历

1.实现二叉树的前中后遍历#include&lt;iostream&gt;#include&lt;queue&gt;using namespace std;template&lt;class T&gt;struct binaryTreeNode{ T element; binaryTreeNode *leftChild, *rightChild; binaryTreeNode...

2019-03-23 16:22:12 111

原创 头条实习招聘的一道机考题,分配奖品数

#include<iostream>#include<algorithm>using namespace std;void compute(int** p, int* n, int a){ int *sum = new int[a]; memset(sum, 0, sizeof(int)*a); for (int m = 0; m < a; m++){...

2019-03-23 16:20:39 440

原创 Leetcode290.单词模式

输出: false示例 3:输入: pattern = “aaaa”, str = “dog cat cat dog”输出: false示例 4:输入: pattern = “abba”, str = “dog dog dog dog”输出: false说明:你可以假设 pattern 只包含小写字母, str 包含了由单个空格分隔的小写字母。以下用了map,字母作为键值与相对应...

2019-03-20 15:39:38 97

原创 任务4实现

1.实现一个基于链表法解决冲突问题的散列表自己编了将近一天,改了又改,修了又修,发现自己的基础知识还是薄弱,最后还是失败了,无奈,先把自己编的错误的带码放上去留个纪念,有时间一定要改出来还是得出一个重要结论,自己没那么强时最好先不要使用类模板#include&amp;lt;iostream&amp;gt;#include&amp;lt;string&amp;gt;#include&amp;lt;functional&amp;gt;u...

2019-03-07 22:15:17 121

原创 任务3实现

1.归并排序这种排序的示意图很好理解,可是到了代码实现的阶段,却很有难度,看了很久才看懂起其中的逻辑。#include&amp;amp;lt;iostream&amp;amp;gt;using namespace std;void Merge(int space[], int lastspace[], int low, int mid, int high){ int i = low; int j = mid + 1;...

2019-03-05 21:37:26 132

原创 任务2实现

1.用数组实现一个栈,用了一个多小时····不过还算顺利,全部代码如下#include&amp;amp;amp;lt;iostream&amp;amp;amp;gt;using namespace std;template&amp;amp;amp;lt;typename T &amp;amp;amp;gt;class arrayStack{public: arrayStack(){ capacity = 5; size = 0;

2019-03-03 14:45:56 114

原创 循环链表的实现

如下全部:#include&lt;iostream&gt;using namespace std;class Node{public: Node *next; int data;};class circleList{public: circleList() { head = new Node(); head-&gt;next = head; head-&gt;...

2019-02-28 16:36:26 159

原创 单链表的实现

因为今天没有时间了,只实现了一些简单的操作,功能还不全,有待增强1.头文件#ifndef List#define Listclass Node{public: int date; Node *next;};class Linklist{public: Linklist(); ~Linklist(); int getLength(); bool insertElem(in...

2019-02-28 15:59:51 122

原创 合并两个有序数组为一个

数组传入函数体变为形参退化为指针,所以在函数外求了数组的长度#include&lt;iostream&gt;#include&lt;string&gt;using namespace std;int* mergeTwoList(int *list1,int len1, int *list2,int len2){ if (list1 == NULL || list2 == NULL)...

2019-02-28 13:17:08 101

原创 实现任意类型可扩容数组

1.头文件array.h#define arraytemplate &amp;lt;class T&amp;gt;class array{private: int length; int size; T *base;public: bool init(); bool EnsureFul(); bool add(T item); bool insert(int index, T item)...

2019-02-28 13:12:35 250

空空如也

空空如也

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

TA关注的人

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