首页
学习
活动
专区
工具
TVP
发布

LeetCode

专栏作者
143
文章
98817
阅读量
31
订阅数
单例模式
背景:我们在实现单例模式的时候往往会忽略掉多线程的情况,就是写的代码在单线程的情况下是没问题的,但是一碰到多个线程的时候,由于代码没写好,就会引发很多问题,而且这些问题都是很隐蔽和很难排查的。
大学里的混子
2019-04-02
4260
线程
在创建线程时,必须要建立一个Thread类的或其子类的实例。因此,我们不难想到在调用start方法之前通过线程类的构造方法将数据传入线程。并将传入的数据使用类变量保存起来,以便线程使用(其实就是在run方法中使用)。下面的代码演示了如何通过构造方法来传递数据:
大学里的混子
2019-03-31
2890
java 基础
从上面代码中可以看出LinkedList迭代器的next函数只是通过next指针快速得到下一个元素并返回。而get方法会从头遍历直到index下标,查找一个元素时间复杂度为哦O(n),遍历的时间复杂度就达到了O(n2)。
大学里的混子
2019-03-18
8010
Java集合的总结
添加元素时使用 ensureCapacityInternal() 方法来保证容量足够,如果不够时,需要使用 grow() 方法进行扩容,新容量的大小为 oldCapacity + (oldCapacity >> 1),也就是旧容量的 1.5 倍。
大学里的混子
2019-03-13
3760
Java深入
java.util.concurrent.BlockingQueue 接口有以下阻塞队列的实现:
大学里的混子
2019-03-13
3800
java基础
当一个线程需要调用对象的wait()方法的时候,这个线程必须拥有该对象的锁,接着它就会释放这个对象锁并进入等待状态直到其他线程调用这个对象上的notify()方法。同样的,当一个线程需要调用对象的notify()方法时,它会释放这个对象的锁,以便其他在等待的线程就可以得到这个对象锁。由于所有的这些方法都需要线程持有对象的锁,这样就只能通过同步来实现,所以他们只能在同步方法或者同步块中被调用。
大学里的混子
2019-03-12
4360
java面试
当一个线程需要调用对象的wait()方法的时候,这个线程必须拥有该对象的锁,接着它就会释放这个对象锁并进入等待状态直到其他线程调用这个对象上的notify()方法。同样的,当一个线程需要调用对象的notify()方法时,它会释放这个对象的锁,以便其他在等待的线程就可以得到这个对象锁。由于所有的这些方法都需要线程持有对象的锁,这样就只能通过同步来实现,所以他们只能在同步方法或者同步块中被调用。
大学里的混子
2019-03-09
6840
HttpServlet
  HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,开发人员通过这个对象的方法,可以获得客户这些信息。
大学里的混子
2019-03-08
3980
线程
使用ExecutorService、Callable、Future实现有返回结果的多线程。
大学里的混子
2019-03-06
3170
ClassLoader
如下图所示,JVM类加载机制分为五个部分:加载,验证,准备,解析,初始化,下面我们就分别来看一下这五个过程。
大学里的混子
2019-03-04
5670
线程
https://www.cnblogs.com/wihainan/p/4765862.html
大学里的混子
2019-03-04
2270
Java并发编程:volatile关键字解析
   volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。
大学里的混子
2019-03-04
3130
深入理解ReentrantLock
在Java中通常实现锁有两种方式,一种是synchronized关键字,另一种是Lock。二者其实并没有什么必然联系,但是各有各的特点,在使用中可以进行取舍的使用。首先我们先对比下两者。
大学里的混子
2019-03-04
3390
hashMap
https://www.cnblogs.com/skywang12345/category/455711.html
大学里的混子
2019-03-03
8900
面试问题
是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制
大学里的混子
2019-03-03
5880
数组问题
输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。
大学里的混子
2019-03-01
4310
链表问题
A stringSof lowercase letters is given. We want to partition this string into as many parts as possible so that each letter appears in at most one part, and return a list of integers representing the size of these parts.
大学里的混子
2019-03-01
4530
二叉树A,B,判断B是不是A的子结构
输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
大学里的混子
2019-02-28
7260
Linux
传统的 grep 程序, 在没有参数的情况下, 只输出符合 RE 字符串之句子. 常见参数如下:
大学里的混子
2019-02-27
4130
<双指针问题>全是正数的数组累加和为k的最长子数组长度
一、全是正数的数组累加和为k的最长子数组长度 public static int longestSubArrayInPosArrary(int[] arr, int aim){ if (arr == null || arr.length ==0 || aim <= 0) return 0; int left = 0; int right = 0; int sum = arr[0]; int res = 0; while (right < arr.length)
大学里的混子
2019-02-26
8720
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档