- 博客(13)
- 问答 (1)
- 收藏
- 关注
原创 2020 3月面试总结
面试告一段落啦,4月份就要入职新公司了,现将面试题总结如下java基础问题HashMap底层原理(被问到不下5次) 回答这个问题要从底层进行回答,首先回答是主干结构是个数组结构,数据按照Hash值放入一个个桶中,初始大小默认为16,如果出现Hash碰撞会将数据放在这个桶的下方,以一个链表的方式。 这时候要指出问题,如果Hash碰撞过多导致链表过长,会导致查询最差时间复杂度为O(N)...
2020-04-04 18:03:44 525
原创 动态规划-1
前段时间面试遇到动态规划爬楼梯问题,当时用暴力枚举感觉面试官不是很满意,而且感觉解答不出来,现在将动态规划做个简单总结。动态规划描述了一系列问题,这几种问题都可以通过动态规划求解,类似于高考时的几何题目,都可以通过坐标法求解出来,你要想求解这道几何题就要分为几个步骤,比如1.建立坐标2.证明........动态规划也是同样如此,分为这几个步骤进行求解首先我们要明确动态规划能解决什么问题...
2020-03-24 19:50:58 211
原创 算法(链表相关)
以下是链表的一些基础题目,但是通过这些题目的组合和解决问题的方法可以解决链表的复杂问题,如k个为一组进行链表翻转就需要翻转链表的方法,整理基本题目如下方便复习。1.合并两个有序链表,合并后还是有序链表classSolution{publicListNodemergeTwoLists(ListNodel1,ListNodel2){if(l1=...
2020-02-26 18:15:57 269
原创 ArrayList线程不安全以及解决方案
ArrayList:ArrayList底层为一个Object类型的数组,初始大小为10,在多线程操作ArrayList时会产生各种各样的线程不安全问题,该文章首先还原问题,用三种方法解决该问题。问题还原public class ArrayListExample { public static void main(String[] args) { List list ...
2020-02-20 11:02:42 1172
原创 CAS简介以及CAS的缺点和处理方法
CAS是什么CAS是指比较并交换(compy and set),底层原理为native修饰,直接操作地址生活中的例子如修改成绩单,老师将成绩单贴到墙上,可以很多同学去观看,但对成绩单进行修改时只能一个人修改,比如数学老师正在对成绩单修改,同学们这时看到的还是老版成绩单,修改完成后重新贴到墙上。如果这时候语文老师也要修改,要先保证成绩单是新的(也就是数学老师修改后的版本),才能进行修改。C...
2020-02-19 16:20:46 902
原创 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 274
原创 Volatile理解
1.volatile理解volatile是一种轻量级的同步机制保证可见性(主内存被修改,其他线程可见) 不保证原子性 禁止指令重排JMM模型:Java Memory Mode,一般保证可见性,原子性,禁止指令重排。volatile可见性的证明import java.util.concurrent.TimeUnit;class ShareData{ volatile...
2020-02-18 11:23:54 424 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 213
原创 Synchronized 和 Lock的区别
Synchronized和lock都是锁能保证代码线程安全,但有些区别,区别如下:1.原始构成Synchronized是关键字是JVM层面的,而Lock是具体类,是api层面2.使用方法Synchronized不需要用户手动释放锁,当使用完后自动释放。而ReetrantLock需要手动释放锁3.等待是否可以中断Synchronized不可以中断,而ReetrantLock可...
2020-02-14 22:43:44 112
原创 阻塞队列以及阻塞队列的使用
阻塞队列:当队列中没有元素时停止拿取,当队列中元素已经满时停止向队列中添加元素。使用场景可以联想到海底捞火锅,当餐厅位置已经满时,需要一个等候区来容纳进不到餐厅的客人,需要去阻塞而不是将客人赶走。BlockQueue和核心方法方法类型 抛出异常 特殊值 阻塞 超时插入 add of...
2020-02-14 22:33:59 209
原创 二分法查找
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 137
原创 吴恩达机器学习笔记-第一章
第一章什么是机器学习(三要素)T(任务),下跳棋 P(概率),面对新对手获胜的概率 E(经验),让人和机器对弈机器学习的分类有监督学习:数据集中每一个样本都有相对应的“正确答案”,再根据样本进行预测。类似于回归问题,根据回归推出一个连续的输出。最后还有分类问题,推出一组离散的数据。 无监督学习:只给出一个数据集,将数据分为几个不同的聚类。机器学习使用的环境octave ...
2018-12-09 21:22:32 124
空空如也
VB.net一键锁定电脑的Ip地址(以后都不会改变)的代码如何写
2018-05-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人