自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ThreadPoolExecutor原理浅析及任务队列中的任务在何时通过何种方式被执行

最近在学习Java线程池,在阅读ThreadPoolExecutor的源码过程中,一直有个疑问,即线程池等待队列中的任务是如何被调起执行的呢?接下来从ThreadPoolExecutor的execute()方法开始一步步分析其原理。execute()方法// 存放线程池的运行状态 (runState) 和线程池内有效线程的数量 (workerCount)private final AtomicInteger ctl = new AtomicInteger(ctlOf(RUNNING, 0));

2021-12-29 21:49:47 1299 1

原创 关于Java BIO NIO AIO以及IO多路复用的一些总结

同步异步、阻塞非阻塞同步与异步(synchronous/asynchronous):同步是一种可靠的有序运行机制,当我们进行同步操作时,后续的任务是等待当前调用返回,才会进行下一步;而异步则相反,其他任务不需要等待当前调用返回,通常依靠事件、回调等机制来实现任务间次序关系;阻塞与非阻塞:在进行阻塞操作时,当前线程会处于阻塞状态,无法从事其他任务,只有当条件就绪才能继续,比如Server...

2019-09-20 16:44:47 419

原创 jdk1.8 HashMap详解

JDK1.8 HashMap详解一、基础补充hash冲突解决的方式(面试中可能会问)开放定址法:查询产生冲突的地址的下一个地址是否被占用,知道寻找到空的地址为止;再散列法:利用散列函数对上一步的hash值再进行散列;连地址法:对于hash值相等的,通过链表链接起来,HashMap中采用了该方式二、源码分析HashMap的结构首先,hashMap的主干是一个Node数组(j...

2019-09-16 16:37:12 338

原创 java进阶知识总结(一)---JVM 内存区域及垃圾回收机制

针对最近读的《深入理解JVM虚拟机》一书的部分内容做出脑图形式的总结,方便日后回忆、复习以及展开,随后会有其他java进阶知识的总结。

2019-08-23 15:20:45 190

原创 字节跳动-后端开发实习生-一面凉经

记录一下人生第一次找工作面试的问题由于最近做的项目大多数是PHP的,面试官又不熟悉这块儿,真是难为他了,一下没想好问我啥!PHP语言关联数组非常强大,那它的底层是怎么实现的?可以详细说一下吗?说一下HashMap是怎么实现的。画一下键值对形式的数组是怎么实现Hash并查找的,怎么解决冲突?说一下PHP的内存管理吧~那你说下Java的内存管理和GC大概是什么机制吧(PHP的没了解过)...

2019-04-01 16:32:40 2341

原创 leetcode---69. x 的平方根 (二分法和牛顿迭代法)

题目:实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842…,由于返回类型是整数,小数部分将被舍去。解法一(二分法):对于最后输出的结果result,应该满足如下的公式 r...

2019-03-07 22:04:28 331

原创 leetcode---67. 二进制求和

题目:给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字 1 和 0。示例 1:输入: a = “11”, b = “1”输出: “100”示例 2:输入: a = “1010”, b = “1011”输出: “10101”解析:当前位相加的结果为相加的数%2,进位标志则是/2;需要有一个进位标志位记录上一步的进位情况,并将进位情况带入下一位的...

2019-03-04 20:39:54 162

原创 leetcode---66.加一

题目:给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 4321。解析:...

2019-03-03 21:22:39 98

原创 leetcode---53.最大子序和

题目:给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。解析:本题目要想时间复杂度为O(n),就要使用空间换时间的方式,新开一个数组,记录到每个元素时的最大子序和为多少,当前一个位置的最大子序和为负数时...

2019-03-03 21:19:16 115

原创 leetcode---38.报数

题目:报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下:1112112111112211 被读作 “one 1” (“一个一”) , 即 11。11 被读作 “two 1s” (“两个一”), 即 21。21 被读作 “one 2”, “one 1” (“一个二” , “一个一”) , 即 1211。给定...

2019-02-27 20:28:50 111

原创 JQuery如何判断动态生成的ul下的li并点击执行事件

JQuery如何判断动态生成的ul下的li并点击执行事件背景: 现在大部分元素是根据后台数据动态生成的,在动态生成的ul列表下如何利用jquery判断点击了哪个li,并执行相应事件呢?这里我的li标签都是动态生成的,在绑定了class属性之后,可以利用jquery获取当前点击的标签,解决方式:homeworkShow: function() { $(".zuoye-show"...

2019-02-26 21:33:05 1920

原创 leetcode 27. 移除元素

simple 27.移除元素分析: 根据提示,int[] nums类似于C中的引用,而且题目明确不需要考虑超出返回长度的溢出部分,那么代码这么写即可:public class removeElement { public int removeElement(int[] nums, int val) { int length = 0; // 记录返回的长度 int j = 0; //...

2019-02-25 21:38:19 91

原创 (vue中使用v-for报错)You are binding v-model directly to a v-for iteration alias.

(vue中使用v-for报错)You are binding v-model directly to a v-for iteration alias.分析:这个错误是由于在使用v-for循环做一些动态生成的事务时,v-model直接绑定了v-for中的迭代变量导致的,例如下图中<el-input v-model="teacher" auto-complete="off"></...

2019-02-24 21:45:03 9605

原创 vue使用filter过滤数组

在不使用计算属性的情况下,可以使用filter方法对数组进行过滤例如:this.teachers = this.teachers.filter(function (teacher) { return !(teacher === ''); });return的结果是一个布尔值,根据自己的实际情况设定条件即可!上述代码将teachers数组中的空值全部过滤掉了,但是filter并不会改变原有数...

2019-02-24 21:30:51 9996

空空如也

空空如也

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

TA关注的人

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