-
一文学习web
前言 静态容器(HTTP容器):Apache,Nginx,处理静态html。 抽象了Socket网络编程。 动态容器:Tomcat,是Servlet规范的实现,比如可以处理jsp 对于每个Http请求,都需要相应的业务类进行处理。 为了不耦合业务,使用了面向接口编程,定义了Servlet接口,业务类实现Servlet接口即可。 特定...…
-
一文学习JUC
前言什么是并发CPU,内存和IO设备三者之间的速度是不匹配的,更好的利用CPU资源。为什么要并发CPU,内存和IO设备三者之间的速度是不匹配的,为了解决这个问题,做了下面的优化: CPU增加了缓存,以均衡与内存的速度差异 操作系统增加了进程、线程,以分时复用CPU,进而均衡CPU与I/O设备的速度差异; 编译程序优化指令执行次序,使得缓存能够得到更加合理地利用。 重排序包括编译器重排序和处理器重排序。对于后者,需要插入内存屏障才可以进行解决。 最终期望可以...…
-
Java8新特性
前言Java8发布于2014年,其引入的新特性极其深远。Lambda表达式为什么要使用Lambda表达式lambda表达式源自函数式编程的需要。函数式编程简单来讲是对行为的抽象:把函数可以当做参数传递给另外一个函数,函数也可以作为另外一个函数的返回值。// 非函数式,不是pure funciton,有状态int cnt;void increment(){ cnt++;}// 函数式def inc(x): def incx(y): return x+y ret...…
-
mysql学习之路
前言Mysql作为软件开发工程师的必备技能,本人在学习Mysql的过程中遇到了非常多的坑,现在将学习的过程进行记录。1. 初学Mysql这里推荐极客时间的《SQL 必知必会》课程。我基于这个专栏,做了学习笔记,有忘记的语法的话,我会回到这里看下。2. Java & MysqlSocket最早是基于Socket编程来实现的。但是Java和Mysql,Oracle等的规范都不相同。JDBCJava Data Base Connectivity,它是可以执行SQL语句的Java API。...…
-
实战Mysql Explain
前言Mysql Explain是非常重要的,在我们写完Mysql命令之后,帮我们分析Sql的性能。其使用是十分简单的,在sql语句前面加上explain即可。准备我们准备了一张表用于演示。create table myOrder( id int auto_increment primary key, user_id int, order_id int, order_status tinyint, create_date datetime);create ind...…
-
PPT实用技巧
PPT需要直接粘贴Excel的对象,不要粘贴Excel中的图片 注:原数据需要保留在PPT中 图标文字要大于8号字,正文要大于10号字 标题和内容需要左对齐 字体尽量选用微软雅黑,不要选用宋体技巧 蒙版处理图片 布尔运算处理形状 对齐工具排版文字PPT图片 Pixabay Pexels 500PX PEXEL 摄图网…
-
mysql索引那些事
前言 索引是解决快速查找的问题。索引是Mysql中的最为核心的概念之一。核心概念 什么是索引? 索引是为了加速对表中数据行的检索而创建的一种分散存储的数据结构 为什么要索引?索引的核心是减少查找的IO次数 索引能极大的减少存储引擎需要扫描的数据量 索引可以把随机IO变成顺序IO 索引可以帮助我们在进行分组、排序等操作时,避免使用临时表 数据结构为什么选择B+树?索引划分 存储类型 主键索...…
-
一文学习Spring(网络篇)-基于Spring官方文档
1. 前言Spring的重要性毋庸置疑,前前后后也花了很多心思去学习,包括极客时间上的小马哥的课程,丁雪峰的玩转Spring全家桶,Spring编程常见错误50例。此外,还学习了刘欣的《从零开始造Spring》,以及Spring官方文档。今天对所学习的内容进行比较系统的总结。我们大体上可以把Spring技术分为核心特性和Web技术。这篇文章我们主要讨论核心特性。2. 核心特性 dependency injection, events, resources, i18n, validatio...…
-
一文学习Spring(核心篇)-基于Spring官方文档
1. 前言Spring的重要性毋庸置疑,前前后后也花了很多心思去学习,包括极客时间上的小马哥的课程,丁雪峰的玩转Spring全家桶,Spring编程常见错误50例。此外,还学习了刘欣的《从零开始造Spring》,以及Spring官方文档。今天对所学习的内容进行比较系统的总结。我们大体上可以把Spring技术分为核心特性和Web技术。这篇文章我们主要讨论核心特性。2. 核心特性 dependency injection, events, resources, i18n, validatio...…
-
fabric性能测试工具
前言参考Tape 一款轻量级 Hyperledger Fabric 性能测试工具。Hyperledger Caliper是更加完整的测试工具。安装 Download binary: get release tar from release page, and extract tape binary from it Build from source: clone this repo and run make tape at root dir. Go1.14 or higher is r...…
-
一文带你了解区块链
本文不构成任何投资建议 阅读本文需要15分钟这篇文章也是我在公司内部分享给大家的文章,主要介绍了区块链发展的大事件,货币的简史,区块链的核心技术,比特币的交易等。前言区块链技术伴随着数字货币比特币走向了人们的视野之中,要谈区块链,还是需要先了解下比特币。中本聪为什么要花这么大的心血去造比特币?其核心技术是什么?没有可靠中间人的情况下是如何完成交易的?又存在哪些不足?Libra,DECP又是什么?区块链大事件先来简单的了解了区块链的发展的大事件。区块链的开始,要从这篇白皮书Bitcoin:...…
-
分布式理论演化
前言 练习,思考只是手段,内在联系才是目的。经过这次秋招,我得到了很多的收获,其中最大的收获是让我领悟到了什么是「正确」的学习方法。在写之前,大家可以回忆下,当你向大佬去请教如何才能学的更好的时候,得到的答案大多是「多做,多想」。但是有时候这么做之后,效果并没有那么的好。这里举一个具体的case,今年在阿里暑期实习的时候,带我的师兄真的很好很负责任,在设计方案的时候,总会让我先提出方案,然后指出我的不足。可往往我没有师兄想的那么全面,他说出答案的时候,这些我基本都或多或少的听过,可是我就...…
-
git常见用法
前言这篇文章整理自网络,文末有参考来源。.git目录常用命令 Workspace:工作区(写代码的地方) Index / Stage:暂存区(add之后) 暂存区的优点 review变化 合并冲突 Repository:仓库区(或本地仓库,commit会后) Remote:远程仓库新建仓库# 在当前目录新建一个Git代码库$ git init# 新建一个目录,将其初始化为G...…
-
常见数据结构小结
前言 HashMap是怎么实现的?为什么JDK8之后要换成红黑树?Mysql的索引为什么要用B+树?这些问题在面试中是经常被问到的。今天抽空把这些数据结构进行总结。其实每种数据结构都是为了满足某种场景的需求,都是有着某种内在的联系的,今天我们将尝试进行梳理和总结。此外,在我们对这些数据结构进行研究的时候,主要关注于其评价指标,包括查找,删除,插入的时间复杂度。这里解释下,我只是对其进行了梳理和总结,里面的配图是在网上找的,会在后面注明来源。数组和链表数组和链表是我们最先接触到的数据结构,...…
-
java并发实战
前言管程作为一种解决并发问题的模型,是继信号量模型之后的一项重大创新,它与信号量在逻 辑上是等价的(可以用管程实现信号量,也可以用信号量实现管程),但是相比之下管程更易用。synchronized、wait()、notify() 是操作系统领域里管程模型的一种实现, Java SDK 并发包里的条件变量 Condition 也是管程里的概念。并发编程可以总结为三个核心问题:分工、同步、互斥。分工指的是如何高效地拆解任务并分配给线程,而同步指的是线程之间如何协作,互斥 则是保证同一时刻只允许...…
-
jsdelivr加速github
前言把github作为我们免费的图床是很不错的选择,但是国内访问的速度是很慢的,经常会出现无法加载的情况。这里发现一个免费的cdn可以用来加速。使用方法我这边是借助Mac+Typora+Picgo来实现的。下一步是把github的资源采用jsdelivr的cdn来加速。可以看到,支持的还是蛮多的。github的使用方式如下:// load any GitHub release, commit, or branch// note: we recommend using npm for pro...…
-
使用java/python开发awvs
前言awvs是一个漏洞扫描工具,具体的介绍不再赘述,大家可以参考官网。这款软件安装需要付费,API也需要付费才可以查看。不过所幸awvs提供了docker版本,可以看下面的安装教程。然后根据经验提供了java和python api常见的操作。安装我们这里使用docker镜像。docker pull secfa/docker-awvsdocker run -it -d -p 13443:3443 secfa/docker-awvs在浏览器中访问 链接默认的用户名和密码如下所示,登陆之后,就可...…
-
算法总结
1.概述https://www.cxyxiaowu.com/7072.htmlcomplexity.md骗分技巧。巧用随机数:输出为「二值」的题目,先System.out.println(“YES”);看看case率,比如为60%,则 System.out.println((new Random().nextInt() % 100) < 60 ? “YES” : “NO”);然后不断提交。l2.数组2.1 数组中的重复数字@@@数组中重复的数字(3)【核心】核心是数字i出现在下标为i...…
-
名校cs课程汇总
前言给自己埋个坑,列举下名校的cs课程。看看自己到时候可以看多少。Standford参考链接CS 100A. Problem-solving Lab for CS106A. 1 Unit.Additional problem solving practice for the introductory CS course CS 106A. Sections are designed to allow students to acquire a deeper understanding of ...…
-
Fabric 2.0新特性
前言 链码不需要“实例化”,可以同时运行java和go链码,同一个链码多次实例化。想要了解上面的特性,请看下面的分解。Fabric 2.0 在2020年1月29号终于release了,我们来看下有哪些新的变化。主要体现在:对新应用和隐私的支持,增强了智能合约的管理,增加了对节点的操作。需要注意的是,只能由fabric-1.4.x升级到2.0。ps:在网上有个翻译,那一字一句的翻译,真的让我很难受。下面我尝试使用自己的理解来解读。1. 智能合约的去中心化管理fabric 2.0引入了智能合...…