自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 问答 (1)
  • 收藏
  • 关注

原创 2020 3月面试总结

面试告一段落啦,4月份就要入职新公司了,现将面试题总结如下java基础问题HashMap底层原理(被问到不下5次) 回答这个问题要从底层进行回答,首先回答是主干结构是个数组结构,数据按照Hash值放入一个个桶中,初始大小默认为16,如果出现Hash碰撞会将数据放在这个桶的下方,以一个链表的方式。 这时候要指出问题,如果Hash碰撞过多导致链表过长,会导致查询最差时间复杂度为O(N)...

2020-04-04 18:03:44 477

原创 动态规划-1

前段时间面试遇到动态规划爬楼梯问题,当时用暴力枚举感觉面试官不是很满意,而且感觉解答不出来,现在将动态规划做个简单总结。动态规划描述了一系列问题,这几种问题都可以通过动态规划求解,类似于高考时的几何题目,都可以通过坐标法求解出来,你要想求解这道几何题就要分为几个步骤,比如1.建立坐标2.证明........动态规划也是同样如此,分为这几个步骤进行求解首先我们要明确动态规划能解决什么问题...

2020-03-24 19:50:58 184

原创 算法(链表相关)

以下是链表的一些基础题目,但是通过这些题目的组合和解决问题的方法可以解决链表的复杂问题,如k个为一组进行链表翻转就需要翻转链表的方法,整理基本题目如下方便复习。1.合并两个有序链表,合并后还是有序链表classSolution{publicListNodemergeTwoLists(ListNodel1,ListNodel2){if(l1=...

2020-02-26 18:15:57 232

原创 ArrayList线程不安全以及解决方案

ArrayList:ArrayList底层为一个Object类型的数组,初始大小为10,在多线程操作ArrayList时会产生各种各样的线程不安全问题,该文章首先还原问题,用三种方法解决该问题。问题还原public class ArrayListExample { public static void main(String[] args) { List list ...

2020-02-20 11:02:42 1121

原创 CAS简介以及CAS的缺点和处理方法

CAS是什么CAS是指比较并交换(compy and set),底层原理为native修饰,直接操作地址生活中的例子如修改成绩单,老师将成绩单贴到墙上,可以很多同学去观看,但对成绩单进行修改时只能一个人修改,比如数学老师正在对成绩单修改,同学们这时看到的还是老版成绩单,修改完成后重新贴到墙上。如果这时候语文老师也要修改,要先保证成绩单是新的(也就是数学老师修改后的版本),才能进行修改。C...

2020-02-19 16:20:46 845

原创 volatile单例模式的用法

传统做法使用Synchronized完成单例模式class SingleDemoOld{ private static SingleDemoOld instance = null; private SingleDemoOld(){ System.out.println(Thread.currentThread().getName()+"\t"+"构造方法Si...

2020-02-18 14:41:13 242

原创 Volatile理解

1.volatile理解volatile是一种轻量级的同步机制保证可见性(主内存被修改,其他线程可见) 不保证原子性 禁止指令重排JMM模型:Java Memory Mode,一般保证可见性,原子性,禁止指令重排。volatile可见性的证明import java.util.concurrent.TimeUnit;class ShareData{ volatile...

2020-02-18 11:23:54 351 2

原创 java 多线程控制练习题

//AA打印5次,BB打印10次,CC打印15次//接着同上//来10轮根据题目需要精准控制线程,使用Lock来实现import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;c...

2020-02-15 23:09:34 189

原创 Synchronized 和 Lock的区别

Synchronized和lock都是锁能保证代码线程安全,但有些区别,区别如下:1.原始构成Synchronized是关键字是JVM层面的,而Lock是具体类,是api层面2.使用方法Synchronized不需要用户手动释放锁,当使用完后自动释放。而ReetrantLock需要手动释放锁3.等待是否可以中断Synchronized不可以中断,而ReetrantLock可...

2020-02-14 22:43:44 98

原创 阻塞队列以及阻塞队列的使用

阻塞队列:当队列中没有元素时停止拿取,当队列中元素已经满时停止向队列中添加元素。使用场景可以联想到海底捞火锅,当餐厅位置已经满时,需要一个等候区来容纳进不到餐厅的客人,需要去阻塞而不是将客人赶走。BlockQueue和核心方法方法类型 抛出异常 特殊值 阻塞 超时插入 add of...

2020-02-14 22:33:59 170

原创 二分法查找

Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim flag = 0 Dim test() As Integer = {10, 11, 12, 16, 18, 23, 29, 33, 48, 54, ...

2019-03-19 15:17:13 109

原创 吴恩达机器学习笔记-第一章

第一章什么是机器学习(三要素)T(任务),下跳棋 P(概率),面对新对手获胜的概率 E(经验),让人和机器对弈机器学习的分类有监督学习:数据集中每一个样本都有相对应的“正确答案”,再根据样本进行预测。类似于回归问题,根据回归推出一个连续的输出。最后还有分类问题,推出一组离散的数据。 无监督学习:只给出一个数据集,将数据分为几个不同的聚类。机器学习使用的环境octave ...

2018-12-09 21:22:32 107

原创 吴恩达机器学习笔记-第二章

第二章假设样本函数,代价函数的定义等高线图 梯度下降算法  

2018-12-09 21:16:54 122

空空如也

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

TA关注的人

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