自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (5)
  • 收藏
  • 关注

原创 Redis 系列 -(一)NoSQL 简介

NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库。1.NoSQL随着互联网 web2.0 网站的兴起,传统的关系数据库在应付 web2.0 网站,特别是超大规模和高并发的 SNS 类型的 web2.0 纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是...

2020-05-02 14:07:52 229

原创 Mac 多 Git 账户配置

通常公司代码一般托管在公司自建 Gitlab 服务上,自己的代码托管在 GitHub 或者 Coding 这样的网站上。Git 账户经常切换非常不方便,这就需要配置多个 Git 账户,以向不同的网站 push 代码。本文将介绍如何在 Mac 上配置多个 Git 账户,以及快速切换管理。1.生成密钥Mac 中密钥文件都保存在 /Users/你的用户名/.ssh 目录下,如果没有该目录手动创建即可...

2020-04-20 20:06:33 1246 1

原创 GitHub Actions 自动部署 Hexo

Github Actions 是 GitHub 官方 CI 工具,与 GitHub 无缝集成。之前博客使用 TravisCI 实现的自动部署,现在转用 GitHub Actions 部署,本文记录部署流程。简单介绍下 GitHub Actions 中的术语:workflow:表示一次持续集成的过程job:构建任务,一个 workflow 可以由一个或者多个 job 组成,可支持并发执行 ...

2020-04-14 08:48:38 1351 1

原创 Redis 系列(二)Redis 安装

Redis 全称:Remote Dictionary Server(远程字典服务器),是完全开源免费的,用C语言编写的,遵守BSD协议,是一个高性能的(key/value)分布式内存数据库,基于内存运行并支持持久化的NoSQL数据库,是当前最热门的NoSql数据库之一,也被人们称为数据结构服务器。1.Redis 介绍官方网站https://redis.iohttp://www.redi...

2020-05-06 19:51:44 425

原创 Hexo 生成永久文章链接

Hexo 默认文章链接生成规则是按照年、月、日、标题来生成的。一旦文章标题或者发布时间被修改,URL 就会发生变化,之前文章地址也会变成 404,而且 URL 层级很深,不利于分享和搜索引擎收录。如果文章标题中有中文,URL 被转码后会很长,比如:https://lujiahao0708.github.io/2020/04/11/%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9...

2020-04-22 15:07:55 1803 4

原创 《Java 8 in Action》Chapter 12:新的日期和时间API

在Java 1.0中,对日期和时间的支持只能依赖java.util.Date类。同时这个类还有两个很大的缺点:年份的起始选择是1900年,月份的起始从0开始。在Java 1.1中,Date类中的很多方法被废弃,取而代之的是java.util.Calendar类。然而Calendar类也有类似的问题和设计缺陷,导致使用这些方法写出的代码非常容易出错。DateFormat方法也有它自己的问...

2020-02-28 09:57:12 804

原创 《Java 8 in Action》Chapter 11:CompletableFuture:组合式异步编程

某个网站的数据来自Facebook、Twitter和Google,这就需要网站与互联网上的多个Web服务通信。可是,你并不希望因为等待某些服务的响应,阻塞应用程序的运行,浪费数十亿宝贵的CPU时钟周期。比如,不要因为等待Facebook的数据,暂停对来自Twitter的数据处理。第7章中介绍的分支/合并框架以及并行流是实现并行处理的宝贵工具;它们将一个操作切分为多个子操作,在多个不同的核、CPU...

2020-02-26 15:28:48 901

原创 《Java 8 in Action》Chapter 10:用Optional取代null

1965年,英国一位名为Tony Hoare的计算机科学家在设计ALGOL W语言时提出了null引用的想法。ALGOL W是第一批在堆上分配记录的类型语言之一。Hoare选择null引用这种方式,“只是因为这种方法实现起来非常容易”。虽然他的设计初衷就是要“通过编译器的自动检测机制,确保所有使用引用的地方都是绝对安全的”,他还是决定为null引用开个绿灯,因为他认为这是为“不存在的值”建模最容...

2019-09-17 10:24:10 528 1

原创 《Java 8 in Action》Chapter 9:默认方法

传统上,Java程序的接口是将相关方法按照约定组合到一起的方式。实现接口的类必须为接口中定义的每个方法提供一个实现,或者从父类中继承它的实现。但是,一旦类库的设计者需要更新接口,向其中加入新的方法,这种方式就会出现问题。现实情况是,现存的实体类往往不在接口设计者的控制范围之内,这些实体类为了适配新的接口约定也需要进行修改。由于Java 8的API在现存的接口上引入了非常多的新方法,这种变化带...

2019-08-31 17:34:10 848

原创 《Java 8 in Action》Chapter 8:重构、测试和调试

我们会介绍几种方法,帮助你重构代码,以适配使用Lambda表达式,让你的代码具备更好的可读性和灵活性。除此之外,我们还会讨论目前比较流行的几种面向对象的设计模式,包括策略模式、模板方法模式、观察者模式、责任链模式,以及工厂模式,在结合Lambda表达式之后变得更简洁的情况。最后,我们会介绍如何测试和调试使用Lambda表达式和Stream API的代码。1. 为改善可读性和灵活性重构代码...

2019-08-29 09:40:17 343

原创 《Java 8 in Action》Chapter 7:并行数据处理与性能

在Java 7之前,并行处理数据集合非常麻烦。第一,你得明确地把包含数据的数据结构分成若干子部分。第二,你要给每个子部分分配一个独立的线程。第三,你需要在恰当的时候对它们进行同步来避免不希望出现的竞争条件,等待所有线程完成,最后把这些部分结果合并起来。Java 7引入了一个叫作分支/合并的框架,让这些操作更稳定、更不易出错。Stream接口让你不用太费力气就能对数据集执行并行操作。它允许你声明性...

2019-08-28 07:25:44 382

原创 《Java 8 in Action》Chapter 6:用流收集数据

1. 收集器简介collect() 接收一个类型为 Collector 的参数,这个参数决定了如何把流中的元素聚合到其它数据结构中。Collectors 类包含了大量常用收集器的工厂方法,toList() 和 toSet() 就是其中最常见的两个,除了它们还有很多收集器,用来对数据进行对复杂的转换。指令式代码和函数式对比:要是做多级分组,指令式和函数式之间的区别就会更加明显:由于需要好多层...

2019-08-27 10:20:19 879

原创 《Java 8 in Action》Chapter 5:使用流

流让你从外部迭代转向内部迭代,for循环显示迭代不用再写了,流内部管理对集合数据的迭代。这种处理数据的方式很有用,因为你让Stream API管理如何处理数据。这样Stream API就可以在背后进行多种优化。此外,使用内部迭代的话,Stream API可以决定并行运行你的代码。这要是用外部迭代的话就办不到了,因为你只能用单一线程挨个迭代。 1. 筛选和切片 1.1 用谓词...

2019-08-26 09:55:51 358

原创 《Java 8 in Action》Chapter 4:引入流

1. 流简介流是Java API的新成员,它允许你以声明性方式处理数据集合(通过查询语句来表达,而不是临时编写一个实现)。就现在来说,你可以把它们看成遍历数据集的高级迭代器。此外,流还可以透明地并行处理。让我们来看一个实例返回低热量(<400)的菜肴名称:Java7版本:List<Dish> lowCaloricDishes = new ArrayList<&g...

2019-08-25 08:57:06 857

原创 《Java 8 in Action》Chapter 3:Lambda表达式

1. Lambda简介 可以把Lambda表达式理解为简洁地表示可传递的匿名函数的一种方式:它没有名称,但它有参数列表、函数主体、返回类型,可能还有一个可以抛出的异常列表。 匿名——我们说匿名,是因为它不像普通的方法那样有一个明确的名称:写得少而想得多! 函数——我们说它是函数,是因为Lambda函数不像方法那样属于某个特定的类。但和方法一样,Lambda有参数列表、函数主体...

2019-08-24 18:28:14 829

原创 《Java 8 in Action》Chapter 2:通过行为参数化传递代码

你将了解行为参数化,这是Java 8非常依赖的一种软件开发模式,也是引入 Lambda表达式的主要原因。行为参数化就是可以帮助你处理频繁变更的需求的一种软件开发模式。一言以蔽之,它意味 着拿出一个代码块,把它准备好却不去执行它。这个代码块以后可以被你程序的其他部分调用。本章通过筛选苹果这个实际需求来一步步引出Lambda表达式,同时我也会把代码贴出来,读完你会看到代码是如何一步一步的向Lambd...

2019-08-24 14:11:21 363

原创 《Java 8 in Action》Chapter 1:为什么要关心Java 8

自1998年 JDK 1.0(Java 1.0) 发布以来,Java 已经受到了学生、项目经理和程序员等一大批活跃用户的欢迎。这一语言极富活力,不断被用在大大小小的项目里。从 Java 1.1(1997年) 一直到 Java 7(2011年),Java 通过增加新功能,不断得到良好的升级。Java 8 则是在2014年3月发布的。Java 8 所做的改变,在许多方面比 Java 历史上任何一次改...

2019-08-22 00:01:33 953

原创 还在用if else?策略模式了解一下!

在公司负责的就是订单取消业务,老系统中各种类型订单取消都是通过if else 判断不同的订单类型进行不同的逻辑。在经历老系统的折磨和产品需求的不断变更,决定进行一次大的重构:消灭 if else。 接下来就向大家介绍下是如何消灭 if else。 1. if else模式 @Servicepublic class CancelOrderService { public v...

2019-08-21 18:49:31 844

原创 解决Mac下VSCode打开zsh乱码

1.乱码问题iTerm2终端使用Zsh,并且配置Zsh主题,该主题主题需要安装字体来支持箭头效果,在iTerm2中设置这个字体,但是VSCode里这个箭头还是显示乱码。iTerm2展示如下:VSCode展示如下:2.解决方案2.1 字体在字体册查找是否已经安装Meslo LG M for Powerline字体,如果未安装就安装一下。2.2 VSCode中配...

2019-08-20 16:48:49 2126

原创 Mac使用ssh公钥免密登录服务器

每次登陆服务器都要输入密码,重复无用的操作让人心生厌烦。“懒人是推动社会进步的动力”,我的宗旨就是能自动的就不要手动。下面就像大家介绍我是如何打造无密码登录服务器:1. 生成公钥和密钥相信使用过git的朋友对这一部分应该不会陌生,git的公私钥配置也是这样在本地生成的,这里就不赘述了。2. 编辑ssh配置文件vim ~/.ssh/config增加:#Tencent Server...

2019-05-29 19:00:58 2114

原创 《Elasticsearch技术解析与实战》Chapter 2.1 Elasticsearch索引增删改查

1. 创建索引PUT /lujiahao123{ "acknowledged": true, "shards_acknowledged": true}索引默认的主分片数量是5,每个主分片的副本数量是1。创建自定义字段类型的索引:PUT /order{ "settings": { "number_of_shards": 3, "number_of_repl...

2019-04-17 18:40:12 602

原创 《Elasticsearch技术解析与实战》Chapter 1.4 Spring Boot整合Elasticsearch

1. spring-boot-starter-data-elasticsearch1.1 pom.xml和application.yml<!-- Spring Boot Elasticsearch 依赖 --><dependency> <groupId>org.springframework.boot</groupId> &lt...

2019-04-16 11:35:01 140 1

原创 《Elasticsearch技术解析与实战》Chapter 1.3 Elasticsearch增删改查

1. 新增文档,建立索引语法格式:PUT /index/type/id{ "json数据"}输入:PUT /person/chinese/1{ "id":12345, "name":"lujiahao", "age":18}输出:{ "_index": "person", "_type": "chinese", "_id": "1", "_v...

2019-04-15 21:49:10 147

原创 《Elasticsearch技术解析与实战》Chapter 1.2 Elasticsearch安装

1. 下载安装1.1 下载https://www.elastic.co/downloads/elasticsearch下载 https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.7.0.tar.gz1.2 解压tar -zxvf elasticsearch-6.7.0.tar.gz1.3 运行cd...

2019-04-14 09:56:40 165

原创 《Elasticsearch技术解析与实战》Chapter 1.1:Elasticsearch入门和倒排索引

1. 简介Elasticsearch是一个机遇Lucene构建的开源、分布式、RESTful接口全文搜索引擎。同时,Elasticsearch还是一个分布式文档数据库,能够扩展至数百个服务器存储以处理PB级数据,通常作为复杂搜索场景的首选利器。Elasticsearch的优点:横向可扩展性:只需要增加一台服务器,配置完毕即可加入集群。分片机制提供更好的分布性:同一个索引分成多个分片,类似...

2019-04-12 13:46:49 198

原创 02.Unity 脚本笔记

gameObject的transform属性可以进行位置、旋转、大小的设置。位置:position:直接到指定位置Translate:通过向量渐变效果旋转:rotate大小:localScale代码如下:using UnityEngine;using System.Collections;public class HeroMove : MonoBehaviour

2015-01-30 21:06:00 478

原创 01.Unity GUI基础

using UnityEngine;using System.Collections;public class GUI : MonoBehaviour{ private string strl; private string pwd; private int selectedToolBarld; private bool isMuted; private string msgBody; priva

2015-01-30 15:15:26 557

转载 What is the general use of Awake(), Start(), Update(), FixedUpdate(), LateUpdate()?

这个总结的比较好,这是最佳答案,目前只能看start和update,其他的还没有接触到,留着以后复习看吧。原文链接地址:http://answers.unity3d.com/questions/10189/what-is-the-general-use-of-awake-start-update-fixe.htmlThis really is something that is

2015-01-30 12:24:29 552

原创 小小的翻译,嘿嘿,翻译的不咋地

Annotations注解You’ve probably encountered the need to annotate elements ofyour Java applications by associating metadata (data that describes other data)with them. Java has always provided an ad ho

2015-01-29 21:44:33 401

原创 01.git基础

git add filegit commit -m "the first file to commit" filegit remote add origin https://github.com/tugenhua0707/testgit.git 远程的仓库是空的git push origin master把本地master分支的最新修改推送到github上了,现在你就拥有了真正的

2014-12-06 14:46:46 273

转载 04.图解GIT

GIT是非常优秀的版本控制工具,但是苦于git那晦涩难懂的man pages,还有众多的命令选项和怪异的用法,git有点难学。这篇文章分享我学习过程中收藏的一些好图,并围绕这些图讲讲我对git的理解,希望对大家有所帮助。GIT工作流程了解git,首先要弄清楚对象在被git管理过程中所处的4个阶段,分别是:工作目录、index(又称为暂存区)、本地仓库和远程仓库。从时间先后来讲,工作

2014-12-06 14:44:44 320

转载 03.Git 的origin和master分析

-----------android培训、java培训、java学习型技术博客、期待与您交流!------------http://lishicongli.blog.163.com/blog/static/1468259020132125247302/关键是 中英文切换着打字太辛苦了转载请注明出处>> 首先要明确一点,对git的操作是围绕3个

2014-12-06 14:13:46 284

转载 02.git架构图解

-----------android培训、java培训、java学习型技术博客、期待与您交流!------------原文地址:http://blog.csdn.net/weinianjie1/article/details/8947966 最近又遇到Git了,发现网络上Git的资料确实不咋滴,难懂不全面。没法,自己来整理整理吧。至于Git是什么我就不多说了,相比svn上手

2014-12-06 14:09:33 596

原创 指针的一个小的易错点

/**时间:2014年12月5日14:23:42作者:路家豪内容:指针的一个易错点*/#includeint main(void){ int i = 5; int * p; int * q; p = &i; //*q = p; //cannot convert from 'int *' to 'int' //p = q; /*q的空间是属于本程序的,所以本程序可

2014-12-05 14:33:06 381

转载 C# 制作启动画面 (Splash Screen)

C#制作SplashScreen(速成)为了让启动界面cool一点点,想制作一个SplashScreen。为此,查阅了不少高手的资料。受益匪浅。也发现现阶段用C#制作SplashScreen的方法太过麻烦。我们不过想让启动画面好看一些,何至于编写半天的代码。而且,网上的代码大多不能运行。更有甚者,会让自己原来的项目代码也不能启动。于是,我抛开网上的方法,自己制作了一个,目标是力求简单(

2014-06-18 18:02:35 8693 5

原创 C primer plus第五版第十七章film2.c的一个错误

今天上机时敲代码,发现C primer plus第五版第十七章film2.c的一个错误,我还改正了这个错误,哈书上源码:/* films2.c -- using a linked list of structures */#include #include /* has the malloc prototype */#include /* has the

2013-05-22 13:08:42 923

转载 未曾注意过的scanf函数的返回值

返回值scanf()函数返回成功赋值的数据项数,读到文件末尾出错时则返回EOF。如:scanf("%d,%d", &a, &b);如果a和b都被成功读入,那么scanf的返回值就是2如果只有a被成功读入,返回值为1如果a和b都未被成功读入,返回值为0如果遇到错误或遇到end of file,返回值为EOF。且返回值为int型.

2013-04-18 07:44:12 636

转载 《C primer plus》P75上有关参数传递(我觉得看了很有用的)

#includeint main(void){ float n1 = 3.0; double n2 = 3.0; long n3 = 2000000000; long n4 = 1234567890; printf("%ld %ld %ld %ld\n",n1,n2,n3,n4); return 0;}参数传递的机制随实现不同而

2013-04-10 16:32:44 741 2

原创 C语言数据类型罗列

C语言数据类型: 基本数据类型和复合数据类型     1、基本数据类型               整型                             短整型      short int        所占字节:2                         整型          int                  所占字节:4

2013-04-07 10:59:55 522

转载 清理Ubuntu系统的缓存、垃圾、多余内核

linux和windows系统不同,linux不会产生无用垃圾文件,但是在升级缓存中,linux不会自动删除这些文件,还是很占硬盘的!一、删除缓存1,非常有用的清理命令:sudo apt-get autoclean                清理旧版本的软件缓存sudo apt-get clean                    清理所有软件缓存sudo ap

2013-04-03 08:17:14 731

java整数(秒数)转换为时分秒格式

java整数(秒数)转换为时分秒格式

2015-12-17

数据结构课件答案源码

数据结构课件答案源码

2013-03-21

《Windows程序设计》(第五版)

《Windows程序设计》(第五版)

2012-12-25

中山大学汇编语言教程

中山大学汇编语言教程

2012-12-25

计算机专业英语

计算机专业英语

2012-12-25

空空如也

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

TA关注的人

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