自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ThreadPoolExector类源码理解

ThreadPoolExecutor类注释一个ExecutorService通过线程池中的多个线程中的一个执行被提交的任务,通常采用Executors工程方法来配置。线程池解决了两个不同的问题:他们通常会在执行大量的异步任务时由于减少了每个任务的调用开销而改进了性能,他们提供了一个边界的定义并且管理资源,包括线程以及在执行任务集合时的消耗。每个ThreadPoolExeCutor都会维护着一些基本的统计信息,例如任务完成数。在广泛的背景下有有用,这个类提供了许多可调参数和可扩展的钩子函数。然而,建议

2020-08-25 09:18:17 166

原创 java 8笔记

从有点修正主义的角度来看,在Java 8中加入Streams可以看作把另外两项扩充加入Java 8的直接原因:把代码传递给方法的简洁方式(方法引用、Lambda)和接口中的默认方法。...

2020-05-03 20:06:16 165

原创 O(nlogn)排序之归快速排序

1. 原理归并排序是不分任何情况直接将数组一分为二。而快速排序是将数组分为一组元素全部小于一个元素v,另一组元素,全部大于这一个元素v。排序的时候通常是以第一个元素为基石,来进行递归排序。package com.fgy.learn;/** * Created by snow_fgy on 2019/4/6. */public class QuickSort1 { //...

2019-04-06 15:51:58 459

原创 O(nlogn)排序之归并排序

1. 自顶向下递归将数组分组,在将每组进行分组,一直分下去,最后分道每组一个元素,这一个元素可以看作是有序的。然后向上归并。然后上一组在排序。排完序,在归并。一直到第一轮。如数组:1 2 3 4 5 6 7 8第一轮: 1 2 3 4 | 5 6 7 8 分成两组第二轮: 1 2 | 3 4 | 5 6 | 7 8 每组在分成两组第三轮: 1 | 2 | 3 | 4 | 5 | 6|...

2019-04-05 23:27:45 377

原创 O(n^2)排序之选择排序/插入排序/希尔排序/冒泡排序

package com.fgy.learn;/** * Created by snow_fgy on 2019/3/31. */public class Sort { //获取随机数组 public int[] getReadom(int n, int random) { int [] a = new int[n]; for (int ...

2019-04-05 15:39:16 135

原创 Python练习-高阶函数

1. 定义当一个函数的参数,传的是另一个函数的时候,这样的函数就是高阶函数 变量可以指向函数,如果一个变量指向了一个函数,那么,可通过该变量来调用这个函数map/reduceap()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。2. 一个函数f(x)=x^3,要把这个函数作用在一个lis...

2018-06-09 15:02:39 766 1

转载 Python练习-生成器

详情请点击

2018-06-04 17:46:20 388

原创 Python练习-生成列表

1. 请利用列表生成式生成列表 [1x2, 3x4, 5x6, 7x8, …, 99x100] 提示:range(1, 100, 2) 可以生成list [1, 3, 5, 7, 9,…]L = [x * (x + 1) for x in range(1, 100, 2)]print L复杂表达式2. 在生成的表格中,对于没有及格的同学,请把分数标记为红色。 提...

2018-06-01 16:15:33 700

原创 Python练习-迭代

因为 Python 的 for循环不仅可以用在list或tuple上,还可以作用在其他任何可迭代对象上。因此,迭代操作就是对于一个集合,无论该集合是有序还是无序,我们用 for 循环总是可以依次取出集合的每一个元素。 注意: 集合是指包含一组元素的数据结构,我们已经介绍的包括: 1. 有序集合:list,tuple,str和unicode; 2. 无序集合:set 3...

2018-06-01 14:31:06 564 1

原创 Python练习-切片

对list进行切片对这种经常取指定索引范围的操作,用循环十分繁琐,因此,Python提供了切片(Slice)操作符,能大大简化这种操作。1. L = [‘Adam’, ‘Lisa’, ‘Bart’, ‘Paul’]取前三个元素索引包括0,但是不包括3。索引如果是0,则可以省略。只用一个 : ,表示从头到尾L = ['Adam', 'Lisa', 'Bart', 'Paul']p...

2018-06-01 10:09:14 821

原创 Python练习-函数

1. sum()函数接受一个list作为参数,并返回list所有元素之和。请计算 1*1 + 2*2 + 3*3 + … + 100*100。L = []x = 1n = 100while x <= n: L.append(x*x) x = x + 1print sum(L)2. 请定义一个 square_of_sum 函数,它接受一个list,返回lis...

2018-06-01 10:08:40 1269

原创 Python练习-set

set 持有一系列元素,这一点和 list 很像,但是set的元素没有重复,而且是无序的,这点和 dict 的 key很像。 创建 set +的方式是调用 set() 并传入一个 list,list的元素将作为set的元素set的内部结构和dict很像,唯一区别是不存储value,因此,判断一个元素是否在set中速度很快。set存储的元素和dict的key类似,必须是不变对象,因此,任何...

2018-06-01 10:08:02 347

原创 Python练习-dict

dict的第一个特点是查找速度快,无论dict有10个元素还是10万个元素,查找速度都一样。而list的查找速度随着元素增加而逐渐下降。不过dict的查找速度快不是没有代价的,dict的缺点是占用内存大,还会浪费很多内容,list正好相反,占用内存小,但是查找速度慢。由于dict是按 key 查找,所以,在一个dict中,key不能重复。dict的第二个特点就是存储的key-value...

2018-06-01 10:07:49 286

原创 Python练习-Python之 for循环

1. 班里考试后,老师要统计平均成绩,已知4位同学的成绩用list表示如下:L = [75, 92, 59, 68] 请利用for循环计算出平均成绩。# -*- coding: utf-8 -*-L = [75, 92, 59, 68]sum = 0for score in L: sum = sum + scoreaverage = sum / 4.0print '...

2018-06-01 10:07:03 925

原创 Python练习-Python之 for循环

1. 班里考试后,老师要统计平均成绩,已知4位同学的成绩用list表示如下:L = [75, 92, 59, 68] 请利用for循环计算出平均成绩。# -*- coding: utf-8 -*-L = [75, 92, 59, 68]sum = 0for score in L: sum = sum + scoreaverage = sum / 4.0print '...

2018-06-01 10:06:22 2298

原创 Python练习-Python之if语句

1. 输入用户年龄,根据年龄打印不同的内容age = 10if age >= 18: print 'you can see these movie'else: print "you can not see these movie"Python代码的缩进规则。具有相同缩进的代码被视为代码块,缩进请严格按照Python的习惯写法:4个空格,不要使用Tab,更不要混...

2018-05-31 16:18:31 547

原创 Python练习-tuple

tuple是另一种有序的列表,中文翻译为“ 元组 ”。tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了。 创建tuple和创建list唯一不同之处是用( )替代了[ ]。Python之创建单元素tupletuple和list一样,可以包含 0 个、1个和任意多个元素。 包含 0 个元素的 tuple,也就是空tuple,直接用 ()表示。 正是因...

2018-05-31 15:40:15 167

原创 Python练习-Python的list

Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。1. 列出班里所有同学的名字,就可以用一个list表示:L = ['zhangyu','wanglei','liudehua']print L打印结果:['zhangyu', 'wanglei', 'liudehua']list是数学意义上的有序集合,也就是说,li...

2018-05-31 15:34:01 542

原创 Python练习-Python中布尔类型

1. 与运算:只有两个布尔值都为 True 时,计算结果才为 True。print True and Trueprint True and Falseprint False and Falseprint False and True2. 或运算:只要有一个布尔值为 True,计算结果就是 True。print True or Trueprint True or False...

2018-05-31 14:58:33 746

原创 Python练习-Python中整数和浮点数

1. 请计算 2.5 + 10 / 4 ,并解释计算结果为什么不是期望的 5.0 ?请修复上述运算,使得计算结果是 5.010 / 4由于是整数的运算,则其计算结果是整数,是2,2.5+2为浮点型和整数的运算,其结果是浮点型,即4.5。print 2.5 + 10 / 4.0...

2018-05-31 14:49:01 713

原创 Python练习-Python中Unicode字符串

1. 用多行Unicode字符串表示下面的唐诗并打印:琵琶记 我本将心向明月, 奈何明月照沟渠。 落花有意随流水, 流水无心恋落花。# -*- coding: utf-8 -*-print r'''琵琶记我本将心向明月,奈何明月照沟渠。落花有意随流水,流水无心恋落花。'''print r'''琵琶记我本将心向"明月",奈何明月照\沟渠。落花有意随\n流水...

2018-05-31 14:43:45 259

原创 Python练习-Python中raw字符串与多行字符串

1. r 表示这是一个 raw 字符串,里面的字符就不需要转义了print r'\(~_~)/ \(~_~)/'r’…’表示法不能表示多行字符串,也不能表示包含’和 “的字符串2. 用”’…”’表示多行字符串print '''I loveyou forever,please believe me'''3. 多行字符串也变成一个raw字符串print r'''...

2018-05-31 11:49:21 298

原创 Python练习-Python中定义字符串

1. 表示字符串 I’m OKprint "I'am OK"要输出的信息有单引号,则整个字符串用双引号括起来2. 表示字符串’Learn “Python” in book’print 'Learn "Python" in book'要输出的信息有双引号,则整个字符串用单引号括起来3. 表示字符串 Jack said “I’m no good”用转义字符prin...

2018-05-31 11:24:17 409

原创 Python练习2-变量

等差数列可以定义为每一项与它的前一项的差等于一个常数,可以用变量 x1 表示等差数列的第一项,用 d 表示公差,请计算数列1 4 7 10 13 16 19 …前 100 项的和。#-*- coding: utf-8 -*-x1 = 1d = 3n = 100x100 = x1 + (n - 1) * dS100 = n * (x1 + x100) / 2print '前 1...

2018-05-31 10:55:06 865

原创 Python练习---print练习

1. print 输出100 + 200的值print '100 + 200 =',100+200

2018-05-31 10:30:03 1262

转载 阿里云源配置

http://mirrors.aliyun.com/help/centos?spm=5176.bbsr150321.0.0.d6ykiD1、备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup2、下载新的CentOS-Base.repo 到/etc/yum.repos.d/ Ce...

2018-04-15 15:28:35 843

翻译 DynamoDB 之保留关键字

以下关键字保留供 DynamoDB 使用。不要在表达式中使用任意这些单词作为属性名称。ABORTABSOLUTEACTIONADDAFTERAGENTAGGREGATEALLALLOCATEALTERANALYZEANDANYARCHIVEAREARRAYASASCASCIIASENSITIVEASSERTIONASYMMETRICATATOMICA

2017-12-08 14:44:35 1005

原创 命名规则和数据类型

命名规则 DynamoDB 中的表、属性和其他对象必须具有名称。名称应该简明扼要 – 例如,Products、Books 和 Authors 之类的名称是都是不言而喻的。 下面是 DynamoDB 的命名规则: 1. 所有名称都必须使用 UTF-8 进行编码,并且区分大小写。 2. 表名称和索引名称的长度必须介于 3 到 255

2017-12-08 14:40:20 604

原创 DynamoDB之UpdateItem

编辑一个存在的项的属性,如果不存在这个项,向这个表中添加一个新的项。可以放入、删除或添加属性的值。还可以支持对一个已经存在的项目进行有条件的更新(如果不存在,则插入新的属性名称值对,或者如果存在某些预期的属性值,则替换现有的名称值对)。 你可以使用这个返回值参数以相同的updateitem操作返回这个项目的属性值。请求语法{ "AttributeUpdates": { "s

2017-12-08 14:20:42 2141

转载 idea中Terminal终端无法执行GIT命令: touch README.md问题解决

问题 解决方法一: ◆打开IDEA,按照路径 Fie–》Settings –》 Tools –》Terminal 找到后设置右边的Shell path(自己安装的Git路径下相对位置),如下图所示 不完美之处:当我们点击idea中的Terminal终端时,会自动弹出Windows安装的bash窗口,如下图所示: 解决方法二: ◆更改路径即可 Git\bin\bash.exe

2017-12-05 23:51:50 2518

原创 Git的基本配置

配置用户名(提交时会引用) git config –global user.name “imooc”配置邮箱(自己的,提交时会引用) git config –global user.email “邮箱”其他配置 git config –global merge.tool “kdiff3”(要是没有装KDiff3就不用设置这一行了) git config –global core.auto

2017-12-05 23:34:33 162

转载 ElasticSearch的基本用法与集群搭建

一、简介ElasticSearch和Solr都是基于Lucene的搜索引擎,不过ElasticSearch天生支持分布式,而Solr是4.0版本后的SolrCloud才是分布式版本,Solr的分布式支持需要ZooKeeper的支持。这里有一个详细的ElasticSearch和Solr的对比:http://solr-vs-elasticsearch.com/二、基本用法集群(Cluster): ES是

2017-12-01 10:52:12 181

原创 设计模式之工厂模式

工厂模式的概念 工厂模式的作用是实例化对象,用工厂的方式来代替new操作创建对象的方式,工厂模式用来产生相似的对象应用 定义一个接口来创建对象,但是让子类来决定哪些类需要被实例化。工厂方法把实例化的工作推迟到子类中去实现适用场景(以下会有例子进行说明) ①一组类似的对象需要创建 ②在编码时不能预见需要创建那种类的实例 ③系统需要考虑扩展性,不应该依赖产品实例产生的一些细节工厂模式应用

2017-11-30 18:43:51 116

原创 设计模式之代理模式

理解:顾名思义就是代替别人做事情,在Java中就是为其他对象提供一种代理,以控制对这个对象的访问,起到一个中介的作用,就向火车票代售点,房产中介,职介所等这一类的工作,为被代理的对象如火车站,房子的业主,用人单位提供自己本身的卖票,卖房/租房,招聘等工作分类: 远程代理:C/S模式虚拟代理:根据需要将消耗资源很大的对象进行延迟创建,在真正需要时进行创建保护代理:控制一个对象的访问权限智能引

2017-11-29 20:40:31 142

原创 设计模式之模板模式

定义:定义了一个操作算法骨架,在这个骨架中定义了一些方法,将其中的一些方法延迟到子类中去实现,使得子类在不改变一个算法框架的同时,重新定义该算法的某些特定步骤大白话就是:抽象父类看做模板,在抽象父类中第一个模板方法,这个方法是只能被继承,不能被子类做任何的修改,在模板方法里面调用一些算法步骤(解释:这个类用来做一些事情的,做事情就要有步骤,模板方法相当于一个大纲,大纲里面有操作步骤),这些算法步骤

2017-11-28 17:28:16 147

原创 设计模式之单例模式

设计模式的概念 设计模式其实就是一套被反复使用的,很多人都知晓的对代码的设计的一种总结,一种思想,提高了程序员的开发效率单例模式 ①定义:在整个程序开发过程中,产生的对象有且仅有一个 ②分类:饿汉式和懒汉式 ③饿汉式:特点:在类加载的时候,比较慢,因为它需要创建对象,而在运行时,是比较快的,因为对象已经创建完毕,只是需要调用而已,它创建的单例对象是线程安全的。 代码和测试如下:publ

2017-11-28 15:23:49 153

原创 Java生成二维码

二维码的分类 线性堆叠式二维码矩阵式二维码邮政码二维码的优点 1.高密度编码,信息容量大,可以容纳1850个大写字母,或者2710个数字,或者1108个字节,或者500多个汉字 编码范围广:把可以数字化的信息都可以进行编码容错能力强译码可靠性高,误码率不超过千万分之一可引入加密措施成本低,容易制作,耐用二维码的缺点 成为病毒传播的新渠道信息泄露QR Code 目前流行的

2017-11-27 21:48:32 295

原创 json基础

1.Json是一种与开发语言无关的,轻量级的数据格式 结构:使用{}包含的键值结构,key必须是string类型的,value可以是任何数据类型和数据结构 标准的json格式是没有注释一说的 json创建可以无参数创建,或者通过map的方式 使用javabean的方式创建,构造器参数为javabean jsonObject.isNull,判断是否存在属性字段 2. gson ①有注解改

2017-11-27 16:37:59 150

原创 elasticsearch

1.基本概念 指定文档ID修改,参数是_update json里面的关键字时doc 2.通过脚本的方式修改 关键字是script 内层: { “script”: { “lang”: “painless”, “inline”: “ctx._source.age += 10” “params”: { “

2017-11-26 22:19:58 194

原创 elasticsearch的分布式配置

设置三个节点,一主二仆 将上文下载的 elasticsearch 复制两份 将第一次下载的elasticsearch设置为master,便捷他的配置文件 添加如下的配置信息 第一个的意思:指定集群的名字为wali 第二个的意思:指定节点的名字为master 第三个的意思:把这个elasticsearch设置为master 第四个的意思:指定网络ip 然后重新启动这个el

2017-11-26 18:08:48 689

空空如也

空空如也

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

TA关注的人

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