自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Book04--修改软件的艺术:构建易维护代码的9条最佳实践

修改软件的艺术:构建易维护代码的9条最佳实践[美]David Scott Bernstein​ 这本书旨在帮助你降低构建与维护软件的成本。给出一些最佳实践的方法。我可以直接在摘要将这9条建议列出来,但是有一些很精妙的话、很切实的感受还是需要自己通过阅读书本去获得。读完这本书会让我对“软件开发工程师”这个职业产生一种自豪感和满足感,为自己是这个行业中的一员表示很庆幸。要知道在此之前我为自己只是单纯的“crud”有点被磨平了热情,但是现在又找回了初心,希望这本书也能为你带来一些不同以往的观点,刷新你的认

2021-02-14 21:48:47 1319

原创 Book03--linux系统管理初学者指南

linux系统管理初学者指南​ 这本书更像是一个学习手册,介绍了linux的一些基本思想和常见指令。其中提到了两个点比较印象深刻:一个是linux设计思想,一个是程序和服务的概念。首先谈谈linux的设计思想,一共有以下几点:(1)一切皆文件(2)整个系统都是由众多小程序组成(3)避免和用户交互(4)使用文本保存配置信息。你会发现linux和windows系统是两种设计体系,windows用户操作更简单更直接,适合与人打交道,而linux是用各种操作指令和文件、和服务打交道,更适合于机器。两者像是“人

2021-02-14 18:31:00 680 1

原创 一文看懂redis知识全景--redis核心技术与实战系列

一、redis基础篇–数据类型、数据结构、单线程及多路复用机制

2021-01-14 21:16:00 1235

原创 redis核心技术与实战系列3:基础篇C

这节课,我就和你聊聊主从库同步的原理,以及应对网络断连风险的方案。主从库同步是如何完成的呢?主库数据是一次性传给从库,还是分批同步?要是主从库间的网络断连了,数据还能保持一致吗?一、主从数据库如何实现数据一致AOF 和 RDB,如果 Redis 发生了宕机,它们可以分别通过回放日志和重新读入 RDB 文件的方式恢复数据,从而保证尽量少丢失数据,提升可靠性。不过,即使用了这两种方法,也依然存在服务不可用的问题。比如说,我们在实际使用时只运行了一个 Redis 实例,那么,如果这个实例宕机了,它在.

2021-01-05 09:14:15 2940 2

原创 redis核心技术与实战系列2:基础篇B

一、日志,宕机了,redis如何避免数据丢失Redis 的持久化主要有两大机制,即 AOF(Append Only File)日志和 RDB 快照。AOF 日志是如何实现的?AOF是写后日志,“写后”的意思是 Redis 是先执行命令,把数据写入内存,然后才记录日志.AOF 里记录的是 Redis 收到的每一条命令,以文本形式保存的。好处可以避免出现记录错误命令的情况。它是在命令执行后才记录日志,不阻塞当前的写操作三种写回策略AOF 配置项 appendfsyncAlways,同步写

2021-01-03 22:44:32 357

原创 redis核心技术与实战系列1:基础篇A

本章主要讲redis的初级篇,先从一个简单的simplekv的键值对构建引出相关的操作.需要存放什么类型的数据、对数据可提供什么操作、数据保存在哪里、如何查找数据、如何保障服务的高可用性?当你下想通了这些实操过程后,你就可以类比着探寻redis的实际原理了.基础架构:一个键值数据库包含什么学习最好的方式是先建立起“系统观”.若想深入理解和优化redis,必须对它的总体架构和关键模块有一个全局的认知,再深入到具体的知识点.假设我们构建一个简单的simplekv组建,我们会如何下手?1、可以存哪些数.

2020-12-29 00:37:41 523 1

原创 redis核心技术与实战系列0:开篇词

开篇词-这样学redis,才能技高一筹开篇专栏来记录我在极客时间上学习的redis核心技术与实战系列这门课.老师讲的不错,从树状知识图的框架讲起,再来细讲其中的一个个枝叶的知识点.可以帮助新手较快的了解redis整个知识框架图.在此做个简单的知识点梳理,一是帮助自己更好的吸收理解,二是重拾博客,更好的搭建自己的知识图谱体系.redis性能相关的问题问题一:为了保证数据的可靠性,redis需要在磁盘上读写AOF和RDB,但是在高并发场景下会带来两个新的问题:1、写AOF和RDB会造成redis性能

2020-12-29 00:13:46 782

原创 Book01--代码整洁之道:程序员的职业素养

对自己读过的书做一些梳理,这是第一本:《代码整洁之道:程序员的职业素养》。作者从成为专业的程序员需要什么态度,需要遵循什么样的原则,需要采取什么样的行动三个方面说起。对日程工作受用较大,值的一看。大致总结:1、职业素养体现在你如何解决问题,思路,步骤及反思>因为我们需要招聘的不是“经历丰富”的人,而是“有职业素养”的人。你遇到的问题可能很容易也可能很难,但我看重的并不是问题的难度,而是解决问题的方式、步骤以及反思的程度面对重大事故,一方面需要及时挽救,将危害降到最低。另一方面需.

2020-12-13 18:07:43 495 1

原创 redis入门之高级用法

这篇文章接上篇redis入门基础教程,写写redis的稍稍高级一点的用法~~文章目录part 3:高级用法1、HyperLogLog(pfadd/pfcount)Redis HyperLogLog 命令2、订阅/消费Redis 发布订阅命令3、redis事务Redis 事务命令4、Redis 安全some err:part 3:高级用法1、HyperLogLog(pfadd/pfcount)Redis HyperLogLog 是用来做基数统计的算法,优点是在输入元素的数量或者体积非常非常大时,计.

2020-11-24 23:36:10 401

原创 mac安装redis+使用超简单教程

概括:本文介绍了mac系统安装redis服务的操作步骤,同时对redis常见的五种数据结构的常见用法做了一个简单的介绍和打样,希望帮助新手更快的上手使用这门应用广泛的内存数据库.

2020-11-24 01:13:21 3624

原创 问问线程

实现多线程的三种方式 1)一种是继承Thread类, 2)是实现Runable接口, 3)实现Callable接口,并与Future、线程池结合使用(Runnable和Callable都代表那些要在不同的线程中执行的任务。Runnable从JDK1.0开始就有了,Callable是在JDK1.5增加的。它们的主要区别是Callable的 call( ) 方法可以返回值和抛出异常,而Ru...

2018-10-11 23:08:27 248

原创 WEB22--Ajax

一、Ajax概述1、什么是同步,什么是异步同步现象:客户端发送请求到服务器端,当服务器返回响应之前,客户端都处于等待卡死状态异步现象:客户端发送请求到服务器端,无论服务器是否返回响应,客户端都可以随意做其他事情,不会被卡死2、Ajax的运行原理页面发起请求,会将请求发送给浏览器内核中的Ajax引擎,Ajax引擎会提交请求到服务器端,在这段时间里,客户端可以任意进行任意操作,...

2018-10-08 23:19:42 241

原创 在一个字符串中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1

 思路:用list集合来保存,循环遍历输入字符串,若list中包含该值就删除,否则就加入集合中。即:集合中最终保存的是只出现过一次的字符。package offer;import java.util.ArrayList;public class firstNotRepeatingChar { public static int FirstNotRepeatingChar(...

2018-10-06 15:59:14 2971 3

原创 输入一个链表,输出该链表中倒数第k个结点。

两种思路:1)用栈的思想,先把链表反转,然后再找出第k个节点。先把所有节点放进栈内,同时统计节点个数,若总节点数小于k则返回null。在弹出栈,倒数k即为弹出的第k个值。2)定义两个指针,一个指针先走k步,再两者一起往后走,当第一个指针到达终点的时候,第二个指针刚好到达倒数第k点,因为他们之间的距离恒为k。 import java.util.List;import java...

2018-10-06 14:02:02 339

原创 计算机网络知识点整理

鉴于计算机网络那几层协议笔试见过多次,但是都没有合理的总结归纳,特此来分析一波。前几天看到一段话,大意是说:一句话不管多么有道理,假设你想让对方听进去,就必须以别人听得进的方式去表述,否则就大概率无效,所以表达的方式真的是一件极其重要的事,怎样让人家听进去才是你的本事,纵使你的道理多真、本领多深,也得为听者考虑。话不多说,学习去了。1.OSI模型七层结构七层协议的作用: 1.物理层...

2018-10-06 10:51:15 20194 3

原创 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)

 定义:父树包含子树的所有节点,注意,空树不是任何数的子树。思路:用递归来实现,从A树的根节点开始,判断其所有的节点是不是依次和树B相同,如不同,递归调用函数,继续判断树A当前节点的左子树的所有节点或右子树的所有节点是否和树B所有节点相同,直到遍历到父树A的叶子节点,如果不是完全相同,则树B不是树A子树,如果直到遍历到树B的叶子节点,其所有节点在树A中均有,则树B是树A的子树。isSubt...

2018-10-03 22:22:13 3431 2

原创 荷兰国旗问题

 问题:输入RGB三种字母的随机排列的字符串,要求输出R在左边G在中间B在右边的情况。eg  输入 :RBGRBGGRBGGRGBRGGRG       输出:RRRRRRGGGGGGGGGBBBB思路:定义两个指针变量,分别划分最左端R和最右端B,对当前数组循环遍历,如若为R则与R区间的下一个指针交换,若为B则与B区间的前一个指针位置交换,注意:前者需要 i++ ; 后者 i 不变 ...

2018-10-03 20:14:27 336

原创 输入字符串返回其中出现次数最多的字母的大写形式

题目: eg:    输入:12*%236addarbW  EE  FSFXAaA (无所谓数字字母特殊符号空格);    输出:A5 思路:先把输入字符串全转换成大写形式,再定义一个26位的数组,判断当前值,若是字母就将它存放到与A的差值数对应的数组序号里(先把数组号取出,将其次数加一,再放回去)。即数组序号代表A-Z的序号,数组的值对应字母出现的次数。最后遍历,取出最大值。值得注意的是...

2018-10-03 17:52:47 1028

原创 WEB10_JDBC连接池&DBUtils

连接池传统JDBC的操作对连接的对象销毁不是特别好.每次创建和销毁连接都是需要花费时间.可以使用连接池优化的程序. 在程序开始的时候,可以创建几个连接,将连接放入到连接池中.用户使用连接的时候,可以从连接池中进行获取.用完之后,可以将连接归还连接池.-----解决性能问题,即资源浪费 【常见的开源的数据库连接池】:DBCP:DBCP(DataBase connectio...

2018-09-26 13:52:13 252

原创 WEB08_MySQL&JDBC

MySQL 1.创建一张表create table 表名(字段名 类型(长度) [约束],字段名 类型(长度) [约束],字段名 类型(长度) [约束]);2.查看数据库表创建完成后,我们可以查看数据库表   show tables;查看表的结构    desc 表名;3.删除表记录说说delete与truncate的区别?delete删除的时候...

2018-09-26 10:29:26 163

原创 WEB05_jQuery篇

  jquery相关的知识 Jquery它是javascript的一个轻量级框架,对javascript进行封装,它提供了很多方便的选择器。供你快速定位到需要操作的元素上面去。还提供了很多便捷的方法。-*            Jquery它是一个库(框架),要想使用它,必须先引入!jquery-1.8.3.js:一般用于学习阶段。jquery-1.8.3.min.js:用于项...

2018-09-25 20:58:24 212

原创 JavaWeb04---JavaScript02

1、鼠标移动事件 --------------------- onmousemove(event) : 鼠标移动事件,event是事件对象。  onmouseover : 鼠标悬停事件,当鼠标移动到某个控件上面的时候发生 onmouseout : 鼠标移出事件,当鼠标从控件上移开的时候  2、鼠标点击事件 ---------------------onclick : 当鼠标单击某...

2018-09-25 11:00:23 159

原创 JavaWeb03---JavaScript

一、JavaScript1.含义:  1)JavaScript是一种脚本语言(即轻量级的编程语言)  2)是一种解释性语言(代码执行不进行预编译)2.作用:  HTML:整个网站的骨架。  CSS: 对整个网站骨架的内容进行美化(修饰)  Javascript: 让整个页面具有动态效果。3.组成部分:    1)ECMAScript:它是整个 javascript ...

2018-09-24 16:45:32 138

原创 JavaWeb02---HTML&CSS

一、表单相关知识1.表单:  所有需要提交到服务器端的表单项必须使用<form></form>括起来  form标签属性(有两个):    1)action,整个表单提交的位置(可以是一个页面,也可以是一个后台java代码)    2)method,表单提交的方式(get / post / delete ... ...等7种)       get提交...

2018-09-24 15:24:32 158

原创 JavaWeb01---HTML

1.什么是HTML?(Hyper Text Markup Language:超文本标记语言)    超文本:功能比普通文本更加强大    标记语言:使用一组标签对内容进行描述的一门语言(它不是编程语言)    为什么要学习HTML?  可以利用HTML来定义网站中的文章内容、标题、连结、图片等,让浏览器知道网站整个架构的呈现2.语法和规范?    HTML文件都是以.htm...

2018-09-24 11:57:30 154

原创 我说gc你说哟 (二)

这是gc的第二部分,介绍了典型的垃圾收集算法+典型的垃圾收集器摘选自点这里---------------------------------收集算法垃圾收集算法主要有:标记-清除、复制、标记-整理。1、标记-清除算法----Mark-Sweep  最基础的垃圾回收算法,易实现,分为两个阶段:标记阶段和清除阶段。标记阶段的任务是标记出所有需要被回收的对象,清除阶段就是回收被标记的...

2018-09-22 09:46:42 223

原创 我说gc你说哟 (一)

原文摘录自:http://www.importnew.com/23633.html虽然我还没有被问到,但是我肯定会被问到,来自挣扎线上苦苦挣扎的阿狗一个,暴风哭泣~.~-----------------Java堆内存Java堆是被所有线程共享的一块内存区域,所有对象实例和数组都在堆上进行内存分配。为了进行高效的垃圾回收,虚拟机把堆内存划分成新生代(Young Generation)、老...

2018-09-21 22:34:51 223

原创 我理解的JVM-----Java中JVM虚拟机详解

很多大佬们在推荐深入理解jvm这本书,奈何时间不够用来博客上简单的取取经记录一下,再此立个flag,明天去图书馆还书的时候一定一定要泡一整天,墙裂建议学校开个通宵自习室!!!我去买咖啡@.@1、 什么是JVM?  JVM是Java Virtual Machine(Java虚拟机)的缩写,是一种用于计算设备的规范,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字...

2018-09-18 15:42:20 1029 1

原创 智力题就是以我的智力猜出来的题

今天随便做题的时候看到的一道智力题,我爱数学,数学使我快乐。感谢我的数学教师身份,嘿嘿嘿,对图表不敏感,但是很喜欢数字呢。eg1:一道读不懂题目看图好理解的飞机智力题----------------每个飞机只有一个油箱,飞机之间可以相互加油(注意是相互,没有加油机),一箱油可供一架飞机绕地球飞半圈. 问:为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机? (所有飞机从同一...

2018-09-17 15:18:28 1287

原创 七大排序算法

阿狗要好好来整理一下啦,感觉自己数据结构不太熟,比如排序算法的思想大概理解,用代码复现又是另一回事,懂得不同场景下的应用又又又又是另一回事,碰到笔试排序算法的题又双叒叕是另另另一回事。所以说啊,学无止境,学海无涯阿狗得飘啊。还有还长一段时间呢,阿狗加油ヾ(◍°∇°◍)ノ゙01---算法介绍:1、冒泡排序思想:通过与相邻元素的比较和交换来把最大的值交换到最后面。这个过程类似于水泡一样...

2018-09-17 10:29:35 195

原创 下一个排列

既然你诚心诚意的发问了,我就死乞白赖的写一下吧,写(捡)一个是一个,这条鱼在乎。实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1,2,31,...

2018-09-04 21:06:59 133 1

原创 面试知识点整理

突然在电脑里发现上次面58整理的部分java知识点,想着顺便理一下吧,不够全面,好歹也是用心整理的,发现有的博客写的真不错,奈何自己还是以整理为主,多向牛人们学习吧。1)---hashmap的底层原理:HashMap是一个用于存储Key-Value键值对的集合,每一个键值对也叫做Entry。这些个键值对(Entry)分散存储在一个数组当中,这个数组就是HashMap的主干。按照特性来说...

2018-09-04 10:00:00 171

原创 常用的设计模式有哪些?

讲一下什么是设计模式?常用的设计模式有哪些?设计模式就是经过前人无数次的实践总结出的,设计过程中可以反复使用的、可以解决特定问题的设计方法。单例(饱汉模式、饥汉模式)1、构造方法私有化,除了自己类中能创建外其他地方都不能创建2、在自己的类中创建一个单实例(饱汉模式是一出来就创建创建单实例,而饥汉模式需要的时候才创建)3、提供一个方法获取该实例对象(创建时需要进行方法同步)工...

2018-09-02 11:57:02 17088

原创 设计模式系列之单例模式

单例模式概念:  java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例.  单例模式有以下特点:  1、单例类只能有一个实例。  2、单例类必须自己创建自己的唯一实例。  3、单例类必须给所有其他对象提供这一实例。单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话...

2018-09-02 11:07:08 193

原创 Spring-aop事务

一、spring封装事务管理代码1、事务操作:打开事务、提交事务、回滚事务2、事务操作对象        因为在不同平台,操作事务的代码各不相同。spring提供了一个接口: PlatformTransactionManager 接口。 2.1 PlatformTransactionManager 接口:        DataSourceTransactionManager...

2018-08-29 16:23:02 233

原创 spring整合JDBC

一、spring提供了很多模板整合Dao技术二、spring中提供了一个可以操作数据库的对象,对象封装了jdbc技术1、JDBCTemplate --> JDBC模板对象(与DBUtils中的QueryRunner非常相似) @Test public void fun1() throws Exception{ //0 准备连接池 ComboPooledDataS...

2018-08-29 15:24:42 193

原创 springday_02复习

复习一.注解代替xml配置    准备工作:        4+2 + spring-aop包        xml中导入context约束        在xml中开启扫描包中类的注解    注解:        @Component("BeanName") 将对象注册到spring容器            |-    @Controler            |-   ...

2018-08-27 20:23:25 196

原创 spring中的aop

spring中的aop一、aop思想介绍二、spring中的aop概念 三、spring实现aop的原理1、动态代理(优先)        被代理对象必须要实现接口,才能产生代理对象,如果没有接口将不能使用动态代理技术2、cglib代理(没有接口)        第三方代理技术,cglib代理,可以对任何类生成代理,代理的原理是对目标对象进行继承代理...

2018-08-27 16:37:27 146

原创 使用注解配置spring+junit 测试

使用注解配置spring步骤:1、导包:4+2+spring-aop2、为主配置文件引入新的命名空间(约束)3、开启使用注解代理配置文件<!-- 指定扫描cn.itcast.bean报下的所有类中的注解. 注意:扫描包时.会扫描指定报下的所有子孙包 --><context:component-scan base-package="cn.itcast....

2018-08-27 15:48:03 4660

原创 springday_01复习

spring_day011.spring介绍    spring并不局限于某一层.    spring是对象的容器,帮我们"管理"项目中的所有对象    2.spring搭建    1>导包 4+2    2>准备类    3>书写配置(src/applicationContext.xml)    4>书写代码测试    3.spring中的概念 ...

2018-08-25 20:07:34 118

空空如也

空空如也

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

TA关注的人

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