10 2018 档案

摘要:使用synchronized的时候,一般要防止String 常量池造成的坑。 比如,一个函数中包含: synchronized("A") { } 还有另外一个函数中包含: synchronized("A") { } 因为常量池的原因 :比如下面,A和B实际上是同一个对象。 String a = "A 阅读全文
posted @ 2018-10-31 23:09 刘大飞 阅读(179) 评论(0) 推荐(0) 编辑
摘要:一 Synchronized锁: 1 synchronized取得的锁都是对象锁,而不是把一段代码或方法加锁。 synchronized是给该方法的实例对象加锁。如果多个线程访问的是同一个对象 的synchronized方法,就可以同步。 2 对象中的非synchronized类型的方法是不需要等待 阅读全文
posted @ 2018-10-29 21:44 刘大飞 阅读(288) 评论(0) 推荐(0) 编辑
摘要:1 demo 2 格式化输出格式 result: 3 logging的 result: 阅读全文
posted @ 2018-10-28 22:14 刘大飞 阅读(148) 评论(0) 推荐(0) 编辑
摘要:1 写文件 2 读文件 3 循环读取文件 4 with ... As ... 阅读全文
posted @ 2018-10-28 18:06 刘大飞 阅读(184) 评论(0) 推荐(0) 编辑
摘要:1: 方法一: 导入整个模块 方法二: 只导入用到的部分 2 自定义模块 关于导入模块: 第一种情况: 主程序与模块程序在同一目录下: `-- src |-- mod1.py `-- test1.py 若在程序test1.py中导入模块mod1, 则直接使用import mod1或from mod1 阅读全文
posted @ 2018-10-28 16:47 刘大飞 阅读(357) 评论(0) 推荐(0) 编辑
摘要:1 异常: 2 : else(如果没有异常) 3:Finally 4: 抛出异常 raise XXXX 阅读全文
posted @ 2018-10-28 16:23 刘大飞 阅读(152) 评论(0) 推荐(0) 编辑
摘要:1 python的类: Python类都继承自object。 __init__: 构造函数,如果不写,有一个默认的。 __init__: 这个构造函数只能有一个,Python中不能有多个构造函数。 构造函数里面可以用类属性。 __del__: 析构函数。 2 继承 阅读全文
posted @ 2018-10-27 21:11 刘大飞 阅读(422) 评论(0) 推荐(0) 编辑
摘要:1: 函数参数默认值 2:作用域 如果想在函数内部使用函数外部的变量,使用global关键字 3:不定参数 4: type函数 result: 阅读全文
posted @ 2018-10-27 20:47 刘大飞 阅读(128) 评论(0) 推荐(0) 编辑
摘要:result: 阅读全文
posted @ 2018-10-27 20:09 刘大飞 阅读(194) 评论(0) 推荐(0) 编辑
摘要:1: for 循环可以循环如下类型: 2 循环多个 zip函数:打包 result: (1, 6) (2, 7) (3, 8) 阅读全文
posted @ 2018-10-27 19:48 刘大飞 阅读(213) 评论(0) 推荐(0) 编辑
摘要:守护线程:它的特性有“陪伴”的含义,当进程中不存在非守护线程了,则守护线程自动销毁。 典型的守护线程就是垃圾回收线程。 thread.setDaemon(true); 阅读全文
posted @ 2018-10-25 21:52 刘大飞 阅读(120) 评论(0) 推荐(0) 编辑
摘要:优先级高的线程得到的CPU资源较多,也就是CPU优先执行优先级较高的线程对象中的任务。 设置线程优先级有助于“线程规划器”确定下一次选择哪一个线程来优先执行。 Java中,线程的优先级分为1 ~ 10这10个等级,如果小于1或大于10,就抛出异常。 default 的优先级是5. 阅读全文
posted @ 2018-10-25 21:48 刘大飞 阅读(137) 评论(0) 推荐(0) 编辑
摘要:yield()方法的作用是放弃当前的CPU资源,让 其他任务占用CPU执行时间。但放弃时间不确定, 有可能刚刚放弃,马上又获得CPU时间片。 阅读全文
posted @ 2018-10-25 21:35 刘大飞 阅读(162) 评论(0) 推荐(0) 编辑
摘要:1 Suspend、resume 的缺点1 :独占! 线程执行到同步块中,如果线程暂停了,不会释放锁。 比如,比如System.out.println()方法就是一个同步方法, 如果线程调用System.out.println()后,在进入函数内部时,暂停了, 其他地方调用System.out.pr 阅读全文
posted @ 2018-10-25 21:30 刘大飞 阅读(205) 评论(0) 推荐(0) 编辑
摘要:1 如果线程在sleep()状态下停止线程,会是什么效果? 答案: 如果在sleep状态下停止某一线程,会进入sleep的catch块中, 抛出InterruptedException 异常,并且清除停止状态值,使之变成false. 阅读全文
posted @ 2018-10-25 20:44 刘大飞 阅读(583) 评论(0) 推荐(0) 编辑
摘要:1: Interrup: 直接上代码: result: i=256i=257truetrue停止状态异常异常退出 2:stop:已经不建议使用 使用stop() 停止的线程则是非常暴力的。 stop() 已经废弃了,因为: 1 如果强制停止则有可能使得一些清理工作得不到完成。 2 对锁定的对象进行了 阅读全文
posted @ 2018-10-25 15:05 刘大飞 阅读(129) 评论(0) 推荐(0) 编辑
摘要:1 判断线程是否是停止状态? interrupt() : interrupt方法用于中断线程。调用该方法的线程的状态为将被置为"中断"状态。 注意:线程中断仅仅是置线程的中断状态位,不会停止线程。需要用户自己去监视线程的状态为并做处理。支持线程中断的方法(也就是线程中断 后会抛出interrupte 阅读全文
posted @ 2018-10-25 13:39 刘大飞 阅读(175) 评论(0) 推荐(0) 编辑
摘要:setName() : 给线程起名字。 isAlive() : 线程是否存或。 currentThread() : 取得当前线程。 getId() : 取得线程的唯一标识。 阅读全文
posted @ 2018-10-25 13:38 刘大飞 阅读(159) 评论(0) 推荐(0) 编辑
摘要:如果欲创建的线程类已经有一个父类了,就不能再继承Thread类了,java不支持多继承。 实现Runnable接口: 继承Thread类: 测试:如下三种调用方法都可以。 阅读全文
posted @ 2018-10-25 10:55 刘大飞 阅读(231) 评论(0) 推荐(0) 编辑
摘要:Run() : run()就是个普通方法,可以调用执行,但是是同步调用,没有异步的效果。 Run()方法就是个普通方法,可以调用多次 Start(): 通知线程规划期,此线程已经准备就绪,等待调用线程对象的run()的方法。就是让系统安排一个时间来调用Thread的run()方法,使得按异步的方法执 阅读全文
posted @ 2018-10-25 10:42 刘大飞 阅读(358) 评论(0) 推荐(0) 编辑
摘要:# 元组是不可变的,不能改变元素的值,也不能增加、减少元素my_tuple = (1, 2, 3, 3)print(my_tuple)# 查找元素位置print(my_tuple.index(2))# 查找元素出现的次数print(my_tuple.count(3)) 阅读全文
posted @ 2018-10-23 22:33 刘大飞 阅读(122) 评论(0) 推荐(0) 编辑
摘要:result: 阅读全文
posted @ 2018-10-23 22:08 刘大飞 阅读(246) 评论(0) 推荐(0) 编辑
摘要:result: 阅读全文
posted @ 2018-10-23 22:08 刘大飞 阅读(176) 评论(0) 推荐(0) 编辑
摘要:1: Test 1 result: 2: Test 2 result 阅读全文
posted @ 2018-10-23 21:57 刘大飞 阅读(145) 评论(0) 推荐(0) 编辑
摘要:分片: 记住, 是开闭区间。 result: 阅读全文
posted @ 2018-10-22 17:42 刘大飞 阅读(166) 评论(0) 推荐(0) 编辑
摘要:result: 阅读全文
posted @ 2018-10-22 16:52 刘大飞 阅读(137) 评论(0) 推荐(0) 编辑
摘要:微服务网关作用: API网关:跨一个或多个内部API提供单个统一的API入口点。通常还包括限制访问速率和有关安全性等特点。API网关可以为外部消费者提供统一的入口点,而与内部微服务的数量和组成无关。 API网关的作用: 1.路由功能,防止内部关注暴露给外部客户端:API网关将外部公共API与内部微服 阅读全文
posted @ 2018-10-20 15:30 刘大飞 阅读(2201) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2018-10-19 11:53 刘大飞 阅读(488) 评论(0) 推荐(0) 编辑
摘要:Python的链式赋值如下: 阅读全文
posted @ 2018-10-19 11:35 刘大飞 阅读(1035) 评论(0) 推荐(0) 编辑
摘要:Python 中的比较:is 与 == 在 Python 中会用到对象之间比较,可以用 ==,也可以用 is 。但是它们的区别是什么呢? is 比较的是两个实例对象是不是完全相同,它们是不是同一个对象,占用的内存地址是否相同。莱布尼茨说过:“世界上没有两片完全相同的叶子”,这个is正是这样的比较,比 阅读全文
posted @ 2018-10-19 10:59 刘大飞 阅读(210) 评论(0) 推荐(0) 编辑
摘要:Connect API: 实现一个连接器(connector),不断地从一些数据源系统拉取数据到kafka,或从kafka推送到宿系统(sink system)。 大多数Connect使用者不需要直接操作这个API,可以使用之前构建的连接器,不需要编写任何代码。 Connect API: 实现一个连 阅读全文
posted @ 2018-10-11 11:08 刘大飞 阅读(332) 评论(0) 推荐(0) 编辑
摘要:1 kafka Streams: 概念: 处理和分析储存在Kafka中的数据,并把处理结果写回Kafka或发送到外部系统的最终输出点,它建立在一些很重要的概念上,比如事件时间和消息时间的准确区分,开窗支持,简单高效的应用状态管理. *一个流(stream)是Kafka中最重要的抽象概念:它代表了一个 阅读全文
posted @ 2018-10-11 09:50 刘大飞 阅读(1160) 评论(0) 推荐(0) 编辑
摘要:1 为什么使用消息队列? 六个字: 解耦、异步、消峰。 2 使用消息队列有什么缺点? 消息队列挂了,系统就不能用了,系统可用性降低。 3 消息队列的高可用? kafka使用zookeeper,master/slave,保证高可用; Kafka通过Zookeeper管理集群配置,选举leader,以及 阅读全文
posted @ 2018-10-08 21:58 刘大飞 阅读(150) 评论(0) 推荐(0) 编辑
摘要:AOP的原理就是java的动态代理机制。 通过使用代理,通常有两个优点,并且能够分别与我们提到的微商代理的两个特点对应起来: 优点一:可以隐藏委托类的实现; 优点二:可以实现客户与委托类间的解耦,在不修改委托类代码的情况下能够做一些额外的处理。 优点一:可以隐藏委托类的实现; 优点二:可以实现客户与 阅读全文
posted @ 2018-10-07 16:11 刘大飞 阅读(143) 评论(0) 推荐(0) 编辑
摘要:数据库连接池: 一:正好可以控制码农们无限制的连接数据库; 连接数据库非常耗时,底层需要使用Socket建立TCP连接,3次握手... 二:可以减少数据库连接时间; 三:还可以复用Connection上的PreparedStatement, 不用老是找数据库预编译了。 PreparedStateme 阅读全文
posted @ 2018-10-07 15:32 刘大飞 阅读(99) 评论(0) 推荐(0) 编辑
摘要:StampedLock是Java8引入的一种新的所机制,简单的理解,可以认为它是读写锁的一个改进版本,读写锁虽然分离了读和写的功能,使得读与读之间可以完全并发,但是读和写之间依然是冲突的,读锁会完全阻塞写锁,它使用的依然是悲观的锁策略.如果有大量的读线程,他也有可能引起写线程的饥饿 而Stamped 阅读全文
posted @ 2018-10-07 15:23 刘大飞 阅读(146) 评论(0) 推荐(0) 编辑
摘要:HashMap size 陷阱: 错误写法: 正确写法:(考虑当添加的元素数量达到HashMap容量的75%时将出现resize. ) 对List的误用: 不用一律用List,如下场景使用Array更适合: list长度固定。 对list遍历频繁。 需要对数字进行包装(JDK没有提供基本类型的Lis 阅读全文
posted @ 2018-10-07 14:48 刘大飞 阅读(114) 评论(0) 推荐(1) 编辑
摘要:一 介紹一下thrift: 概念: Thrift的全名叫做Apache thrift,是一款软件开发RPC框架,可以很高效地实现跨语言的RPC服务。 支持多线程请求,等待应答的同步/异步模式。 使用步骤: 第1步: 明确要交互的数据格式和具体的方法(如上例中的Search),定义出thrift接口描 阅读全文
posted @ 2018-10-07 13:15 刘大飞 阅读(472) 评论(0) 推荐(0) 编辑
摘要:SpringBoot的使用? 化繁为简: Spring MVC 需要定义各种配置,配置文件多。 SpringBoot的核心功能? 独立运行: java -jar XXX.jar (以前启动SPring MVC需要有服务器,比如tomcat) 内嵌web服务器: 内嵌Tomcat. 简化配置:用sta 阅读全文
posted @ 2018-10-06 22:20 刘大飞 阅读(367) 评论(0) 推荐(0) 编辑
摘要:1 微服务面临的问题? 微服务间如何通信 从通讯协议角度考虑 REST API RPC(dubbo, thrift, grpc): 微服务之间通讯很常用,是最常用的微服务之间通信协议。 I/O: IO/ NIO(非阻塞IO)/长连接/短连接。(NIO是RPC时候考虑的问题。) 线程模型: 单线程,多 阅读全文
posted @ 2018-10-06 21:12 刘大飞 阅读(3425) 评论(0) 推荐(0) 编辑
摘要:软件架构的进化 架构考虑哪些因素:业务需求,成本,技术栈,组织架构,可扩展性,可维护性。 什么是微服务 每个服务运行在独立的进程,采用轻量级的通讯机制互联,并且可以通过自动化方式部署。 微服务的特征 单一职责: 轻量级通信(平台无关&语言无关的通信):比如HTTP。 隔离性: 有自己的数据: 技术多 阅读全文
posted @ 2018-10-06 17:04 刘大飞 阅读(455) 评论(0) 推荐(0) 编辑
摘要:1 下载 wget http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.0.0/kafka_2.12-2.0.0.tgz 2 tar -zxvf kafka_2.12-2.0.0.tgz -C kafka 3 进入到config下( /root/ka 阅读全文
posted @ 2018-10-02 20:58 刘大飞 阅读(200) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示