自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java实现读写锁

package concurrent.rwl;import java.util.Random;import java.util.concurrent.LinkedBlockingQueue;import java.util.concurrent.ThreadPoolExecutor;import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.Lock;import java.util.concurrent.loc

2021-09-21 19:04:54 417

原创 HashMap源码 + jdk11

1.声明类public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable 2.成员变量private static final long serialVersionUID = 362498820763181265L;static final int DEFAULT_INITIAL_CAPACITY = 1 << 4;

2021-09-20 18:53:54 191

原创 LinkedList源码学习 + jdk11

底层是使用双向链表实现的,插入删除容易,不需要扩容,不是线程安全的。1.类定义public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serializable2.成员变量 transient int size = 0; transient Node<E>

2021-09-19 11:12:04 216

原创 ArrayList源码 + jdk11

动态数组,但是不是线程安全的。1.类的定义public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.SerializableAbstractList也实现了List接口,这样做是为了使用一些重复代码,自己又实现了List是为了实现自己特有的方法。2.成员变量 private static final

2021-09-19 11:00:42 218

原创 String 源码学习 jdk11

1.实现的接口 implements java.io.Serializable, Comparable<String>, CharSequence //分别是序列化 //比较接口 compareTo(T 0) //只读的字符串序列包括length(), charAt(int index), subSequence(int start, int end)2.成员数据 @Stable private final byte[] value; //存字符串的byte数组

2021-09-19 10:03:23 227

转载 循环依赖spring

https://blog.csdn.net/lkforce/article/details/97183065

2021-09-17 19:29:52 69

原创 leetcode滑动窗口练习

3.无重复最长子序列对于这样的题,一定要计算好窗口的长度class Solution { public int lengthOfLongestSubstring(String s) { if(s.length()<=1){ return s.length(); } int sum = 0; int max = -1; int start = 0; for(int i=0;

2021-09-16 19:13:43 60

原创 leetcode 链表练习

这几天面试编程总是出现问题,确实是自己的问题,没有好好练习,在面试的时候一定要注意心态,不要紧张。83 将重复元素删除,只留一个class Solution { public ListNode deleteDuplicates(ListNode head) { if(head==null){ return head; } ListNode p = head; while(p!=null&&p.

2021-09-16 19:09:55 145

原创 0911京东笔试

第一题模拟在一个不重复字符键盘上输出一个指定字符串要要多大代价?最开始在0,0的位置移动一格需要x的代价敲击一个字符要z的代价发生转向要y的代价输入n,m,x,y,zn代表输入n行,m代表每行字符数样例2 2 1 1 1.E:FEE:F.:输出15import java.util.HashMap;import java.util.Scanner;/** * @data 2021/9/11 18:47 **/public class Main { publ

2021-09-11 21:00:42 314

原创 leetcode25 + java

class Solution { public static ListNode reverseKGroup(ListNode head, int k) { if(k==1){ return head; } ListNode left = new ListNode(); left = head; ListNode right = head; ListNode temp;

2021-09-10 21:58:15 72

原创 leetcode37 + java

数独回溯使用三个数组记录状态 行 列 九宫格class Solution { public boolean[][] v1 = new boolean[9][10]; public boolean[][] v2 = new boolean[9][10]; public boolean[][] v3 = new boolean[9][10]; public void solveSudoku(char[][] board) { for(int i=0;i&l

2021-09-10 20:06:39 96

原创 leetcode32 最长有效括号 + java

主要设置了一个标志位数组,把匹配的位置值为true,最后统计最长连续长度就可以了class Solution { public int longestValidParentheses(String s) { int sum = 0; int left = 0; boolean[] b = new boolean[s.length()]; int max = Integer.MIN_VALUE; for(int i=0;

2021-09-10 18:14:39 84

原创 最小生成树 + java

import java.util.*;/** * @author wengyinbing * @data 2021/9/8 17:22 **/public class MInTree { public static void prim(int[][] array,int n){//选点法 //LinkedHashSet<Integer> lset = new LinkedHashSet<>(); ArrayList<Inte

2021-09-08 18:12:35 121

原创 jvm 内存相关问题

jvm内存相关问题总结jvm溢出与泄露产生内存泄露的可能原因?处理内存泄露的步骤分析使用的工具java中的引用内存溢出的原因内存溢出的解决办法java对象回收与finalize方法OOM可能发生在哪些区域?GCroot的几种对象?jvm调优常用参数jvm溢出与泄露Out of memory 内存不足,使用空间不足,比如创建一个对象,需要10m的大小。(申请内存过大)内存泄露?Memory leak ,程序运行完后,并没有完全释放已经占用的空间,太多次的内存泄露就会导致oom。内存溢出会抛出异常,内

2021-09-07 16:23:10 146

原创 字符串匹配算法

/** * @author wengyinbing * @data 2021/9/5 16:43 **/public class StringMatch { /* KMP 算法,尽量减少不必要的判断 每次不匹配的时候根据next数组倒退位置 不要每次都是从头开始 s1 要匹配的字符串 */ public static int KMP(String s1,String s2){ int[] next = next(s2.

2021-09-05 19:21:40 90

原创 大数据去重解决方案总结

1.MD5一个加密算法:我们把一条数据使用MD5进行加密优点:压缩性,生成一个固定长度的数值容易计算抗修改性强抗碰撞布隆过滤器bitmap使用2bit存储数据的状态 00 不存在 01 一次 11有重复hash分组比如大文件去重,内存放不下,可以先使用hash尽可能将数据分区,一样的数据分到一个区中,在去重。redis利用redis进行去重使用数据中唯一标识字符段,使用加密(MD5 SHA1)对字符段进行加密,生成一个字符串,放入到redis中,没有出现过就没有重复。参考链接

2021-09-04 21:02:38 956

原创 布隆过滤器(Bloom Filter)

布隆过滤器相当于hashset,但是不需要存储key的值,对于每个key,只需要使用k个比特位,每次存储一个标志位,用来判断key是否在集合中。使用一个很长的二进制向量和一系列的随机映射函数。算法流程使用k个hash函数,每个可以把key散列成一个整数初始化一个长度为n的二进制向量数组,初始化为0插入数据的时候将对应的二进制为设置为1优点 :不用存储key,节省空间,并且插入数据效率比较高,查询时间比较快**缺点:**会有误判的情况,如果bf说存在某一元素,但是这个元素可能不在集合中。

2021-09-04 09:06:44 84

原创 跳跃表 + Java

package sjjg;import java.util.Random;/** * @author wengyinbing * @data 2021/8/25 17:06 **/public class SkipList { private final static int MAX_LEVEL = 10; private int levelCount = 1;//索引的层节数 private Random random = new Random(); pr.

2021-08-27 21:17:24 78

原创 Linux指令学习

cut-d:分隔符-f: 取出第n个区间last 最后的登录用户信息sort-f 忽略大小写-b 忽略最前面的空格-M 按照月份的名字进行排序-n 使用数字-r 反向-u unique 重复的内容只出现一次-t 指定分隔符-k 指定排序的空间正则表达式grep 使用正则表达式全面查找并打印-c 统计匹配到的行数-i 忽略大小写-n 输出行号-v 反向选择–color = auto 颜色显示printf 格式化输出,不属于管道命令 需要使用¥()形式awkFS 分隔

2021-08-23 21:31:52 71

原创 TOP K + java

import java.util.Arrays;/** * @author wengyinbing * @data 2021/8/20 16:20 **/public class TopK { //topk 问题常见解法 //1.使用k次冒泡排序 //2.使用堆 求k最大的 用小顶堆 //3.利用快排 public static void heapTopK(int[] arr,int k){//取k小 //首选建立一个k的大顶堆

2021-08-20 17:58:36 124

原创 堆排序+java

/** * @author wengyinbing * @data 2021/8/20 15:33 **/public class HeapSort { /* 堆排序 大顶堆 升序 小顶堆 降序 */ public static void heapSort(int[] arr){ //从第一个非叶子节点开始调整 for(int i=arr.length/2-1;i>=0;i--){ adj

2021-08-20 16:18:52 58

原创 哈夫曼树 + java

package sjjg;import java.util.ArrayList;import java.util.Collections;import java.util.List;/** * @author wengyinbing * @data 2021/8/16 21:21 **/public class HuffmanTree<T> { public static <T> Node<T> createHT(List<Node&l.

2021-08-16 21:42:47 67

原创 Netty特性

Netty特性多路复用器Netty线程模型Netty 编码解码序列化零拷贝多路复用器Nio 的一个重要组件是 多路复用器 ,底层有3中经典模型,分别是select poll epoll,一个多路复用器可以处理多个socket连接线程,传统的是一个连接使用一个线程处理。Netty默认的多路复用是epoll模型,epoll jdk封装的是水平触发的,netty采用的是JNI重写的边缘触发。Select()方法的主要特点1.每次都要从用户态到内核态进行拷贝所有的文件描述符2.要在内核空间遍历所有的文

2021-08-16 19:54:55 296

原创 LRU+java实现

使用hashmap(O(1)时间复杂度中找到)+ 双向链表(将最新访问放到链表头部,尾部是最近最少访问的,是最先删除的)import java.util.HashMap;/** * @author wengyinbing * @data 2021/8/15 16:47 **/public class LRUcache<K,V>{ //hashmap + 双向链表实现 public final static int CacheSize=4; public

2021-08-15 20:35:44 67

原创 打工人在路上

京东日常实习生面试项目redis分布式锁消息队列 如何解决高流量消息基础知识spring框架 IOC (使用了什么设计模式,工厂模式)AOPJVM 内存(线程共享部分:METHOD、堆,线程私有:本地方法栈、虚拟机栈、程序计数器)轻量级锁CAS:乐观锁计算机网络tcp三次握手,为什么不是两次?(知道答案但是说的不好)http协议(没答出来)https协议数据传输过程?(对称加密、和非对称加密混合加密方法)mysql编写编程二叉树的翻转(递归和栈实现)

2021-03-25 18:38:02 99

原创 SLAM学习

SLAM学习一、 SLAM典型应用领域二、 SLAM框架三、 研究现状四、 SLAM分类(基于传感器SLAM分类)五、 公开数据集六、 开源方案七、 视觉SLAM发展八、 VSLAM未来趋势SLAM(Simultaneous localization and mapping,即时定位与地图构建),主要用于解决机器人在未知环境运动时的定位与地图构建问题。一、 SLAM典型应用领域1. 自动驾驶...

2019-10-26 21:54:07 1106 1

原创 kaggle titanic

Kaggle泰坦尼克之灾讲解看完之后,kaggle比赛的重点主要是:对数据的认识 数据中的离群点\特殊点的分析和处理 重要的特征工程(feature engineering) 模型融合(model ensemble)import pandas as pd #数据分析import numpy as np #科学计算from pandas import Series,Dat...

2019-10-15 20:19:17 510

原创 python 实现十大排序算法

冒泡排序这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。算法过程:进行N-1趟操作每一趟,都是不断的比较相邻的元素,那么一趟下来,就会将最大的移到排好顺序的最后面的位置。代码实现:def bubbleSort(array): ''' 冒泡排序 ''' for i in range(len(array)-1,-1,-1): ...

2019-10-15 17:42:39 5304 4

原创 scikit-learn学习

scikit-learn是python中常见的机器学习库,简写为sklearnsklearn包含很多机器学习方式Classification 分类 Regression 回归 Clustering 非监督分类 Dimensionality reduction 数据降维 Model Selection 模型选择 Preprocessing 数据预处理使用模型的步骤导入模块 ...

2019-10-10 22:44:51 206

原创 python中的除法、取整与保留小数

/ 与 // 的区别>>> 1 / 20.5>>> 1 // 20向下取整>>> import math>>> int(1/2)0>>> math.floor(1/2)0向上取整>>> math.ceil(1/2)1分别取出整数与小数点&g...

2019-10-10 16:04:20 7173

原创 leetcode上面的Tree合集

leetcode上面的Tree合集100.SameTree100.SameTree判断两棵树是否是一样的二叉树# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# ...

2019-09-21 16:17:17 252

原创 leetcode 判断链表是否有环

# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def hasCycle(self, head: ListNode) -> ...

2019-09-18 21:35:23 107

原创 链表反转

使用python实现单链表的反转leetcode206# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def reverseLi...

2019-09-18 19:29:45 85

原创 朴素贝叶斯

贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。而朴素贝叶斯分类器是贝叶斯分类器中最简单常用的一种方法。并且朴素贝叶斯算法仍然是最流行的十大挖掘算法之一。该算法简单易懂,学习效率高,在某些分类问题上能够和神经网络和决策树相媲美。import numpy as npdef load_data_set(): posting_list = [ ...

2019-09-17 18:04:24 152

原创 KMP 字符串匹配

KMP讲解来源于http://www.ruanyifeng.com/blog/2013/05/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm.html问题:给定一个主串S和一个模式串p,要求找出p在S中出现的位置,即字符串匹配问题。解决方法: 对于字符串匹配,首先会想到暴力求解法,,但是这样效率会比较低。对于主串S和模式串P,在移...

2019-09-17 15:04:39 117

原创 python jieba第三方库

jieba 是一个优秀的中文分词第三方库jieba利用一个中文词库,确定汉字之间的关联概率jieba常见库函数import jiebas = "君埋泉下泥销骨,我寄人间雪满头"result = jieba.lcut(s)print(result)#['君埋', '泉下', '泥销', '骨', ',', '我', '寄', '人间', '雪', '满头']...

2019-09-10 17:05:43 169

原创 使用pip发布python程序

1.注册账号首先在https://pypi.org网站上注册账号2.创建要上传的文件代码结构其中的几个文件setup.py,需要通过这个文件进行 Python 代码的编译(可能会有依赖的其他代码包或者依赖的 C 文件)和安装。import setuptoolswith open("README.md","r") as fh: long_descritiptio...

2019-07-16 10:57:17 140

原创 python matplotlib模块

matplotlib 是python的绘图库折线图plotimport matplotlib.pyplot as pltfrom random import *x = range(60)y_beijing = [uniform(0,6) for i in range(60)]plt.figure(figsize=(20,8),dpi=80)plt.plot(x,y,color=...

2019-07-10 09:26:21 107

原创 Ajax

AJAX = Asychronous Js and XML(异步的JS和XML)Ajax最大的优点就是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。其中包括如下几个步骤:使用XMLHttpRequest对象发出HTTP请求; 得到服务器返回XML格式的字符串; JS解析XML,并更新局部页面;<!DOCTYPE html><html&...

2019-07-04 14:52:36 163

原创 使用python一句话,使在局域网内进行文件传输

打开要进行文件传输的目录,进入cmd,输入如下指令python -m http.server 8888输入ipconfig,查看局域网ip地址这里是192.168.1.118。之后在浏览器或是处在同一局域网下的手机查看192.168.1.118:8888,就有下载本地文件夹下的内容了。...

2019-06-26 22:00:56 926

空空如也

空空如也

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

TA关注的人

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