- 博客(106)
- 资源 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 0086 shopee面试题汇总
1、大数据方向leetcode hard 寻找两个有序数组的中位数##了解MVCC吗MVCC:多版本并发控制。特点1.MVCC其实广泛应用于数据库技术,像Oracle,PostgreSQL等也引入了该技术,即适用范围广2.MVCC并没有简单的使用数据库的行锁,而是使用了行级锁,row_level_lock,而非InnoDB中的innodb_row_lock.基本原理:MVCC的实现...
2020-04-25 23:49:21
16576
原创 0107 设计模式之创建型模式
创建型模式是对类的实例化的抽象,对类的创建和使用分离。主要包括以下6种。1、工厂方法模式1.1 定义🥝定义:工厂父类负责定义创建产品对象的公共接口,由工厂子类负责生产具体产品对象,即将产品的创建延迟到工厂子类中完成,工厂子类来决定创建哪一种产品。工厂方法模式包含如下角色:Product:抽象产品ConcreteProduct:具体产品Factory:抽象工厂ConcreteFactory:具体工厂UML图时序图1.2 实践实践用例:实现一个日志记录器,支持多种日志记录方式,如文件
2022-05-28 20:45:40
182
原创 0106 优雅与高效的java编程手记(1-20)
本系列文章为《Effective Java 3rd Edition》的阅读手记,该著作中提供了90条java的编程建议,都是从实战中总结出的高阶经验。结合实际开发中的使用频率,对有的条目详细解读和实践,对于一些不常用的条目,就当走个意识,真正实践中遇到再回头细读。
2022-04-16 21:31:12
580
原创 0105 分布式事务方案之2PC、3PC简介
1、引言💡 事务是指程序在做一件事情的时候,要么成功完成,要么完不成。把满足ACID特征事务的称为刚性事务,即具有非常强的一致性要求。随着分布式系统的不断普及,分布式事务方案不断涌现出来,本文将学习总结下当前比较流行的分布式事务框架,目的是学习前人解决问题的思路,以备实际开发中可以借鉴。2、2PC方案考虑这样一个需求:用户A想要去某地旅行,为了避免繁琐的购票环节,通过一家旅行社安排行程。旅行社要做的事情为:订一张火车票和目的地的酒店,如果订购火车票失败,就不会定酒店,行程自然失败;同样
2022-04-16 21:15:07
1162
原创 0104 MySQL常用命令
MySQL语句分为:数据定义语句DDL(Data Definition Language)数据操纵语句DML(Data Manipulation Language)下面介绍常用的这两类命令。DDL语法建表语句CREATE TABLE if not exists table_name( `id` bigint(11) NOT NULL AUTO_INCREMENT, -- 生产用自增要当心溢出 `city_name` varchar(50) COMMENT '城市', `z
2021-08-24 16:43:13
111
原创 0103 spark应用提交时加载本地配置文件及解析方式
在spark应用提交到集群时,如果我们需要加载本地(驱动节点)的配置文件时,如:...spark-submit \ -class ... -jars ... -jar ... file:///yourLocalFilePath/conf.properties在解析该配置文件时,通常我们将其处理为HashMap形式,通过key-value方式实现便捷的配置参数读取。具体实现方式如下:package com.gendlee1991.utilsimport java.io.{FileInp
2020-12-22 23:35:50
499
原创 0102 LRU算法必杀技
LRU算法必杀技原理概述:LRU(Least Recently Used),最近最少使用原则实现的缓存淘汰算法。“最近最少”的误解:很多人看字面意思很可能理解为“最近使用和最少使用的被淘汰”,理解几乎完全相反了。“最近最少”的正确理解:基于这样一种准则:刚使用过的、最新添加的元素,被(再次)使用到的概率更大,因此要放到队列读取的最前端,最先淘汰队列尾端的元素(说明它被添加的时间很长了而且很少被访问到过,若是新添加的、经常被访问过的应该在靠近读取端头部)。看这样一个例子:面试题 16.25. LRU
2020-12-12 15:00:13
199
原创 0101 分布式锁实现方式
究事物之际,通技艺之变,成一家之言 在单机服务中,锁存在于单机的JVM中,对单机中应用的线程进行加锁和释放锁的操作。然而在分布式系统中,应用是部署在多台机器上的,因此便存在互相独立的多个JVM,传统的锁方式便失效,因为传统的锁只能对单个JVM中的线程作用。于是,分布式锁便应运而生。 分布式锁目前的方案有很多种,包括但不限于:Redis分布式锁(RedLock),Zookeeper分布式锁、数据库(实现的分布式锁(MySQL)。下面分别介绍三种锁的实现方法及...
2020-12-08 22:54:12
187
原创 0100 java.utils.Arrays 源码阅读笔记
Java Arrays源码阅读笔记 来自包 java.utils.Arrays 文字与代码对应关心:学习理解的文字在源代码的下方 private static final int MIN_ARRAY_SORT_GRAN = 1 << 13;最小数组长度,低于该长度,并行排序算法将不会进一步划分排序任务。使用较小的大小通常会导致任务之间的内存竞争,从而使并行加速变得不太可能。默认是2^13 = 8192个元素长度。private Arrays()
2020-11-15 20:50:41
112
原创 0099 经典算法系列——线段树
LeetCode 307class NumArray { int[] sum; int size; int[] nums; public NumArray(int[] nums) { if (nums == null || nums.length == 0) return; this.nums = nums; this.size = nums.length; ...
2020-06-25 20:40:53
140
翻译 0098 系统设计——Instagram设计
设计Instagram让我们设计一个像Instagram这样的照片共享服务,用户可以在其中上传照片以与其他用户共享。类似服务:Flickr,Picasa难度级别:中1.什么是Instagram?#Instagram是一项社交网络服务,可让其用户上传和与其他用户共享他们的照片和视频。Instagram用户可以选择公开或私下共享信息。任何其他用户都可以看到任何公开共享的内容,而私有共享的内容只能由一组指定的人访问。Instagram还允许其用户通过许多其他社交网络平台进行共享,例如Facebook,Twi
2020-06-20 20:48:27
350
翻译 0097 系统设计——必知必会
系统设计入门[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mV33uQT8-1592634278825)(https://camo.githubusercontent.com/e45e39c36eebcc4c66e1aecd4e4145112d8e88e3/687474703a2f2f692e696d6775722e636f6d2f6a6a3341354e382e706e67)]目的学习如何设计大型系统。为系统设计的面试做准备。学习如何设计大型系统学习如何设计
2020-06-20 14:28:04
384
原创 0096 经典算法系列——回溯法
回溯法有模板:result = []def backtrack(路径, 选择列表): if 满足结束条件: result.add(路径) returnfor 选择 in 选择列表: 做选择 backtrack(路径, 选择列表) 撤销选择作者:jeromememory链接:https://leetcode-cn.com/problems/combination-sum/solution/hui-su-suan-fa-tao-m...
2020-06-18 23:13:06
217
原创 0095 经典算法系列——并查集(Union-Find)
概念TODOUF的标准模板算法实战 等式方程的可满足性(medium) 朋友圈(medium) 最长连续序列(hard)下面将介绍以上题目的实现:等式方程的可满足性(medium)分析:List itemclass Solution { public boolean equationsPossible(String[] equations) { int n = equations.length; UF uf = new UF();
2020-06-16 22:32:12
223
原创 0093 泛洪填充之岛屿问题
泛洪填充常见于岛屿问题: 1254.统计封闭岛屿的数目 694.不同的岛屿数 200.岛屿问题解法三种:DFS,BSF,并查集下面以200.岛屿问题解析泛洪填充的过程,题目描述:给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例 1:输入: 11110 11010 11000 00000 输出: 1 示例 2:输入: 11
2020-05-28 23:11:30
189
原创 0092 经典算法系列——泛洪填充(FloodFill)
泛洪填充(FloodFill)问题在图像处理中非常常用,它和连通图的概念相似。最近在YouTube看 Patrick Shyu (TechLead)的视频,他讲他在谷歌面试别人的时候,常会出一道泛洪填充的题。这道题参考LeetCode733:有一幅以二维整数数组表示的图画,每一个整数表示该图画的像素值大小,数值在 0 到 65535 之间。给你一个坐标 (sr, sc) 表示图像渲染开始的像素值(行 ,列)和一个新的颜色值 newColor,让你重新上色这幅图像。为了完成上色工作,从初始坐标开始,
2020-05-27 23:23:14
1936
原创 0091 系统设计——知识链接汇总
1、《grokking the system design》这是一门国外培训课程,口碑相当不错。需付费,但在YouTube上能搜到视频课程2、各大国外互联网公司技术与架构https://github.com/checkcheckzz/system-design-interview3、系统设计面试题精选https://soulmachine.gitbooks.io/system-design/content/cn/4、101种开发人员的设计模式和技巧https://sourcemaking.co
2020-05-21 23:12:06
426
原创 0090 Spring Boot常用注解名词解释
SpringBoot注解:就是给代码打上标签的能力。通过引入注解,我们可以简单快速赋予代码生命力,大大提高代码可读性和扩展性。注解本身不具有任何能力,只是一个标签,但是我们可以定义各种标签然后实现各种标签处理器来对类、方法、属性甚至参数等进行功能扩展、功能开启、属性定义、行为定义、规则定义、关联处理、元数据定义等等。元注解:@Documented:将会在被此注解注解的元素的javadoc文档中列出注解,一般都打上这个注解没坏处@Target:注解能被应用的目标元素,比如类、方法、属性、参数等等,需要仔
2020-05-17 14:01:18
487
转载 0089 http常用状态码
转自:菜鸟当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求。HTTP状态码的英文为HTTP Status Code。下面是常见的HTTP状态码:200 - 请求成功 301 - 资源(网页等)被永久转移到其它URL 404 - 请求的资源(网页等)不存在 500 - 内部服务器错误HTTP状态码分类HTTP状态码由三个十进制数字组成,
2020-05-17 13:57:01
279
原创 0088 将MD文件转换成Anki可分割的导入文件
需求:为了制作记忆卡片,利用了Anki知识卡片工具,其在移动端、PC端可以同步。因此,可以在PC端批量化、自动化将自己复习整理的MarkDown文件转化为Anki能解析的文件,制作对应知识卡片,在移动端可随时随地进行知识点复习。MarkDown记录格式约定:2级目录为题目名(##),对应为Anki的Front,换行内容为Anki的Back;导入文件约定:题目名和内容之间分隔符号:@ (@使用场景较少)编写自动转换工具(python)print("开始转换MarkDown文件为Key-Val.
2020-05-11 23:11:26
2140
3
原创 0087 Redis面试高频问题
Redis的数据类型字符串、集合、有序集合、哈希、列表Redis的线程模型是怎样的?Redis内部使用 文件事件处理器(file event handler),该文件处理器是单线程的,因此Redis是单线程模型。它采用多路IO复用机制同时监听多个socket,根据socket上事件来选择对应的事件处理器进行处理。文件事件处理器的结构包括4个部分:1、多个socket2、IO多路复用程序...
2020-05-02 21:28:28
622
原创 0085 java面试高频问题汇总
Java基础:1.JDK 和 JRE 有什么区别?面向人群不同:JDK是面向开发人员的,包括java运行时环境(JRE)和一些基础库函数;JRE是面向java程序使用者的,即要运行java程序,就得用到JRE;安装不同:如果安装JDK,电脑有两套JRE,一套位于 \jre ,另外一套位于 C:\Program Files\Java\j2re1.4.1_01 目录下。如果安装JRE,会在...
2020-03-30 22:14:38
544
原创 0084 如何写一个flink程序
如何写一个flink程序step 1: 环境创建**@**流处理执行环境创建: **StreamExecutionEnvironment **StreamExecutionEnvironment see = StreamExecutionEnviroment.getExecutionEnviroment();**@**批处理执行环境创建:**ExecutionEnvironment ...
2020-01-21 14:24:04
194
原创 0083 不用比较元素大小也能排序——计数排序算法实现与分析
package sort;public class CountSorting { public static void countSort(int[] nums){ if (null == nums || nums.length < 2) return; int min = Integer.MAX_VALUE; ...
2019-11-02 14:26:29
254
原创 0082 分治法实现归并排序
package sort;public class MergeSorting { public static void mergeSort(int[] nums, int start, int end){ if (start == end) //终止条件(细品) return; int mid = (start + end)/...
2019-10-29 21:10:25
182
原创 0081 插入排序简单分析
package sort;public class InsertSorting { public static void insertSort(int[] nums){ if (null == nums || nums.length < 2) return; for (int i = 0; i < nums.leng...
2019-10-29 20:06:23
98
原创 0080 分治法思想下的快速排序算法
public class QuickSorting { public static void quickSort(int[] nums, int start, int end){ if (start > end) //终止条件(细品) return; int i = start; int j = end; ...
2019-10-28 20:55:49
149
原创 0079 选择排序的“丑陋”
public class SelectSorting { public static void selectSort(int[] nums){ if (null == nums || nums.length < 2) return; for (int i = 0; i < nums.length; i++){ ...
2019-10-28 20:19:11
147
原创 0078 冒泡排序算法分析
//假设升序排序public class BubbleSorting { public static void bubbleSort(int[] nums){ if (null == nums || nums.length < 2) //空或1个是有序的不用处理 return; for (int i = 0; i <...
2019-10-28 19:56:10
109
原创 0077 LeetCode(力扣)解题录
771. 宝石与石头class Solution { public int numJewelsInStones(String J, String S) { int count = 0; for (int i = 0; i<S.length() ; i++){ if ( J.indexOf(S.charAt(i)) != -1 ){ ...
2019-08-31 23:37:40
205
原创 0076 人工智能系列——机器学习专家的知识技能图谱
引言 在人工智能的风口浪尖上,作为一名新时代程序员应具备前瞻性的技术自我修养,其中最为核心的,当属深度学习的理论与技能。一位搞社会科学的专家曾给过我建议:要打造自己的核心竞争力。随着不断的工作深入,我发现这句话越发散发着真理的味道,所以做了一些规划,及时调整状态和方向,确保不被人工智能的大潮淹没从而失去做那个驾驭浪尖之上的水手的机会。本文参考了CSDN上的文章,结合个人实际工作中的...
2019-04-14 12:45:38
450
原创 0075 python数据处理——Excel中数据均值与均方差计算
最近我们家小朋友要做一些均值和均方差的计算,数据量较大,为了能一次性算出结果,用python进行了计算。用得到的python第三方包:xlrd : 处理Excel专用的安装命令:pip install xlrd代码:# -*- coding: utf-8 -*-import xlrdimport mathdef do_excel(): ExcelFile...
2019-04-08 22:21:02
7942
转载 0074 Pycharm破解方法
第一步:下载补丁文件如果是2017.2以上版本的,需要JetbrainsCrack-2.6.6及以上版本如果是2018.1及以上版本的,需要JetbrainsCrack-2.8及以上版本本人是windows64G系统,安装的2018.1.4专业版,试过JetbrainsCrack-2.6的,只能延长有效期一年;使用JetbrainsCrack-2.8的版本,有效期到2099年12月31...
2019-04-08 22:07:46
238
原创 0073 spark streaming从端口接受数据进行实时处理的方法
熟悉运行sparkStreaming中的socketTextStream()函数。
2017-12-22 19:49:10
3348
原创 0070 IntelliJ IDEA+Scala+Hadoop +Spark的开发环境搭建
IntelliJ IDEA+Scala+Hadoop +Spark的开发环境搭建,解决了遇到的各类问题。
2017-09-22 20:14:45
2800
原创 0069 drools workbench 在wildfly上的搭建
最近几天搞drools规则引擎的可视化页面操作,看CSDN上有人用Tomcat搭建成功的,也有人绕进去一个MySQL安装成功的,但自己死活搞不出来。于是到谷歌去找答案,同样用Tomcat搭建失败的案例一大堆,终于在黑暗中找到曙光:为什么不用wildfly代替Tomcat呢?所以试着用wildfly来搭建drools workbench,搞了四天终于成功了!目的:搭建drools规则引擎的可视化操作...
2017-09-14 20:22:58
2950
原创 0068 terra vista 4.0安装包及破解教程
terra vista 4.0安装包及破解教程_ terra vista4.0 资源包链接 _ license number 和 support key(同一组序号)的获得 _ 安装步骤详解 _ 黑框问题解决办法terra vista4.0
2017-02-16 21:52:36
3974
1
转载 0067 硬盘插在电脑上无显示的解决办法
通过修改注册表来实现:打开“运行”对话框输入命令“regedit”打开注册表程序。依次展开:“HKEY_CURRENT_USER”→“Software”→“Microsoft”→“Windows”→“CurrentVersion”→“Policies”→“Explorer” 在右侧右击选择“新建”→“二进制值”,将其命令为“NoDrives”,其值
2016-12-21 23:02:33
559
hadoop2.7.x运行时所需的winutils.exe和hadoop.dll
2017-12-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人