自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小辙

小白日常

  • 博客(18)
  • 资源 (2)
  • 收藏
  • 关注

原创 六大设计原则

学习一个语言的语法,可能只需要一两天,然后就具备了搬砖的能力。但是如何做出可扩展、易维护、好管理的工程代码,还需要再补充一些知识和经验。本次先来看看设计原则。“好的功能设计,在迭代开发时,不需要改动大量的代码,就像火车加一节车厢,插线板支持拔插各种插头,签字笔更换笔芯”1.单一职责原则单一指责原则:规定一个类应该只有一个发生变化的原因(职责)。反例:public class AnimalServiceImpl { public void say(String animalType){.

2021-08-09 00:33:51 703

原创 浅谈Servlet

文章目录1.如何管理Servlet2.Servlet 接口3.Servlet 容器3.1处理过程3.2 注册Servlet3.3 扩展4.servlet容器与spring容器习惯了在各类 Web 框架上进行开发,和而 Servlet的关系就是,每天都在接触,又不是很熟。 今天就来扒一扒servlet的相关内容。在之前的一篇讲JSP的文章中,有提到过jsp的本质就是Servlet 。而Servlet(全称为 Server Applet),是在服务器上运行的Java程序,本质上是一段java程序,没有

2021-07-04 21:46:44 90

原创 java并发编程:Random,ThreadLocalRandom

假期最后一天,来看一下随机数生成,在高并发场景下的一些情况。ThreadLocalRandom类是JDK7在JUC包下新增的类。主要是为了弥补Random类在多线程之下的缺陷。文章目录1 并发角度看Random类1.1 random类1.2 random中的并发考虑1.3 缺陷2 ThreadLocalRandom2.1 实现2.2 current方法2.3 nextInt方法2.4 UNSAFE1 并发角度看Random类1.1 random类Java.util.Random是使用比较广泛的随.

2021-02-17 20:29:29 303

原创 java并发编程:CAS、Unsafe类、重排序、伪共享

文章目录1 Q:什么是悲观锁、乐观锁2 Q:那CAS机制是什么3 Q:CAS是完美的吗(ABA问题)4 Q:提到的Unsafe类是什么5 Q:指令重排序对并发有什么影响6 Q:什么是伪共享7 Q: 如何避免伪共享1 Q:什么是悲观锁、乐观锁悲观锁:指在更新数据时,数据被外界修改,持保守态度。认为在更新数据的时候,大概率会有其他线程争抢共享资源。此时为了避免出错,第一个拿到资源的线程会对资源进行加排它锁, 其他没争夺到资源的线程只能进入阻塞队列 。之前上面提到的synchronized就是悲观锁的一种实现

2021-02-13 20:57:12 153 2

原创 java并发编程:并发性、内存可见性、原子性

QA的形式–继续基础篇1 Q:什么是并发编程A: 首先,提到并发,不得不提一下并行的概念。并发指:同一个时间段内多个任务同时在执行。并行指:单位时间内多个任务同时执行。二者的区别主要在于,并发的多个任务在某个单位时间,不一定同时在执行。在单核CPU的情况下,只能同时执行一个任务,此时多个任务的执行是并发的,一个任务的时间片使用完,让出CPU给其他任务。在多核CPU配置下,每个核心可以单独跑一个任务,多个任务可以再同一时间同时执行,实现并行。但是因为实际场景中,线程数往往大于核心的数量。更多的.

2021-01-24 19:57:33 72

原创 java并发编程:ThreadLocal、InheritableThreadLocal、守护线程和用户线程

上次梳理了线程的创建和状态切换,本次将继续基础篇的整理,涉及JAVA的两类线程,以及ThreadLocal的一些知识、源码等。1 ThreadLocal1.1 概述ThreadLocal是JDK包提供的,在java.lang包下,提供了线程本地变量。它的作用是,当创建了一个ThreadLocal变量,每个访问这个变量的线程,都会有一个这个变量的本地副本,当多个线程操作这个变量时,实际操作的是自己本地内存的变量,互不干扰。如此一来,它的使用场景主要针对多线程,变量不共享的情况:在进行对象跨层.

2021-01-17 21:16:47 130

原创 java并发编程:基础篇

2021年第一个安排,搞一波java并发编程的知识。大概会分几篇来展开,本次首先梳理一下线程的基础知识。1 什么是线程进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程;进程也是程序的一次执行过程,是系统运行程序的基本单位;系统运行一个程序即是一个进程从创建、运行到消亡的过程。线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程。一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序。程序计数器:是一个.

2021-01-03 19:17:11 85

原创 什么是JSP

JSP是一种动态web资源开发技术 ,本质上是一个Servlet。JSP的出现是为了解决Servlet在响应时不适合向外输出完整页面、以及解决html无法展示动态数据的问题。如今已经逐渐被前后端分离的框架所替代,今天就来扒一扒JSP。文章目录1 Servlet1.1 简介1.2 创建2 JSP2.1 简介2.2 属性2.3 语法3 JSP的衰落1 Servlet1.1 简介说JSP是本质上是Servlet,那么Servlet是什么呢?Servlet(全称为 Server Applet),是在服.

2020-12-06 21:33:17 226

原创 java8新特性

java8是java的一个重要的版本,引入了一些新的特性,在实践中,很多老项目都把java8当做一个升级的台阶。对这些新特性的学习,可以很好的使用java8带来的便利,而不是雨我无瓜的版本升级。近期听了身边前辈的分享,从一个特别的角度进行了分析,在这里进行总结学习,本文主要涉及Lambda表达式、方法引用、Stream、Optional类、日期类五部分。其实每一个部分的使用都很有讲究,但是具体的实现,可以查看文档性质的网站,这里换个角度进行梳理。1. lambda表达式Lambda 允许把函数.

2020-11-29 01:12:52 258

原创 源码浅析:LinkedHashMap、HashTable

上周对HashMap的源码进行了简单的分析,Map还有一起其他的实现类,本文对其他主要几个类的实现进行简单的分析,主要包括有LinkedHashMap,HashTable。本文的两个结构与HashMap有较大的关联,关于HashMap可以参考上一篇文章:HashMap源码浅析1 LinkedHashMapLinkedHashMap继承了HashMap,同时也实现了Map接口。在使用迭代器遍历的时候,可以按照put的顺序,进行遍历。1.1 底层实现LinkedHashMap听名字可以知道是 H.

2020-11-15 19:26:12 192

原创 java基础笔记(一)

前一段时间有计划重看一下java基础的内容,只是各种事不断的打断,到现在过了一部分内容。刚开始有些基础的东西,把之前没有注意到的地方,进行一个简单的记录;有些地方,还可以进一步深入,这里只做浅层的总览了,之后再针对性的深究,写点demo。1.基本数据类型的默认值: public class DefaultValue { char a; boolean b; byte c; short d; int e; long f; float g; d.

2020-11-11 01:07:41 105

原创 HashMap源码浅析

某次恰饭的时候,问头儿,他进来的时候,被面试了哪些内容。从java基础,到框架原理顺着一大堆东西就说出来了。一个HashMap,也可以问出花来。本次就以HashMap开个头,来探一探源码的实现。我们都知道Map是一种由多组键值对集合在一起的结构,其中key不可以重复,value值可以。HashMap作为Map接口的常用实现,在java8之前底层实现是数组+链表,在java8之后使用数组+链表+红黑树来实现。本文主要以java8为主进行展开,主要讲解了底层结构、put、get、扩容的相关实现机制和源码.

2020-11-09 00:31:23 214 1

原创 JavaScript基础(作用域、闭包、this)

1 JavaScript作用域与闭包1.1 编程语言的作用域规则1.1.1 词法作用域:词法作用域:定义在词法阶段的作用域。函数和变量的作用域由书写代码时,函数和变量的声明位置决定。可再细分为函数作用域,块作用域。与调用位置无关,与定义的位置有关示例1:var a=0;function f1(){ var a=1; f2();}function f2(){ console.log(a);}f1();实例中的f2函数中的a变量的值,会在定义f2()函数的

2020-07-05 23:53:20 148

原创 文本分析相关技术

文本分析相关技术1 拼写错误纠正(spell correction)编辑距离(edit distance)计算编辑距离生成指定编辑距离的单词排序2 分词(word segmentation)简单方法jieba的简单实用3 词的过滤、stemming词的过滤stemming4 文本的表示词袋模型(bag-of-wordsModel)功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接...

2020-01-22 22:10:15 489

原创 neo4j基础使用

neo4j基础使用写在前面下载安装JDK和neo4j1 安装jdk2 安装neo4j3 检查安装情况4 修改配置文件,打开远程控制端口功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富...

2020-01-20 21:17:10 156

原创 借助Charles分析,scrapy爬微信小程序

借助Charles分析,scrapy爬微信小程序写在前面对Charles的配置在电脑端配置根证书在手机端配置根证书使用Charles解析数据配置电脑端的抓取规则使用scrapy进行数据爬取写在前面最近需要用到某微信小程序上的数据,之前爬过普通的网页,对小程序的爬取,最主要的应该就是对数据包的抓取,网页端可以用浏览器轻松的实现对数据包或者网页结构的分析,对小程序而言,我们就需要工具的辅助。对C...

2020-01-14 18:24:52 526

转载 github的简单使用

Repository 仓库开源一个项目,新建一个仓库Star 收藏收藏项目,方便查看Fork 复制克隆项目会在自己的仓库里复制一个项目(独立存在),自动会有标识,forked from XX/XXPull Request 发起请求基于fork,对于修改,请求合并进去watch 关注项目issue 发现代码bug,但是目前没有成型的代码,需要讨论。git的常用命令git ...

2019-06-20 17:52:08 122

转载 Matplotlib

Matplotlib使用简介pyplotplt.plot()控制线条属性plt.axis()多个图形或轴域处理文本参考链接简介每次使用到,都要网上查一下相关的例子,所以在这里摘录一些做一下总结。Matplotlib 是一个用于在 Python 中绘制数组的 2D 图形库。虽然它起源于模仿 MATLAB图形命令,但它独立于 MATLAB,可以以 Pythonic 和面向对象的方式使用。虽然 M...

2019-01-18 12:02:10 285

latex2word-equation-0.0.0.5.zip

LaTeX2Word-Equation word支持的latex关键字不满足实际使用时,可以使用该谷歌浏览器的插件,进行转化。 解压后选择 加载已解压的扩展程序

2020-03-21

neo4j-graphql-3.5.0.4.jar

neo4j的grapql插件,放到plugins目录下。 在conf中添加 dbms.unmanaged_extension_classes=org.neo4j.graphql=/graphql 如果有dbms.security.procedures.whitelist= 则添加 ,graphql.* (Re)start your Neo4j server即配置完成

2020-03-06

空空如也

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

TA关注的人

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