自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(138)
  • 资源 (1)
  • 收藏
  • 关注

原创 Python之高级函数-高级程序员与普通程序员的区别

python的高阶函数1、假如你想从一个考试分数的列表中删除所有的0分,怎么办?普通程序员:第一步:定义一个函数def remove_zero(yourList): newlist = [] for number in yourList: if number > 0: newlist.append(number) ...

2020-02-20 15:50:31 474 1

原创 python之中文分词

目录1、安装和使用jieba2、分词练习3、为jieba添加自定义的词典4、知识点普及1)分词文件怎么写2)jieba.cut()参数说明1、安装和使用jieba直接用命令:pip3 install jieba就可以了,如图所示表示成功。2、分词练习import jiebaif __name__ == '__main__': seg_gu=...

2020-02-17 18:39:41 726

原创 Python之经典案例---扑克发牌程序

目录1、 用Card类表示一张牌2、 用Hand表示一个牌手(玩家)3、用poke类表示一幅牌,可以看做拥有全部54张牌的牌手4、发牌主程序5、测试结果1、 用Card类表示一张牌# 一张牌的抽象class Card(): """A playing card""" RANKS = ['A','2','3','4','5','6','7','8...

2020-02-16 20:09:54 5688 6

原创 python实战篇---类

1、Python的类如何定义?class Fruit: # 类属性 price = 0 # 通过类名和对象名都可见 def __init__(self): self.__color="Red" # 定义和设置私有属性 self.__city = 'beijing' # 定义和设置私有属性 ...

2020-02-16 19:06:05 209

原创 初识Python

目录工具:mac笔记本, 安装了Python3.7.0; 编程工具:IDLE.列表:递归:迭代:工具:mac笔记本, 安装了Python3.7.0 ; 编程工具:IDLE.列表:movices = ["The Holy Grail", "The Life of Brian", "The Meaning of Life"]python的列表不用标识数据类型...

2020-02-10 13:09:17 254 2

原创 Prototype模式 通过复制生成实例

框架:1、接口package com.polo.proto.fremework;public interface Product extends Cloneable{ public abstract void use(String s); public abstract Product createClone();}2、使用者package com.p...

2020-02-08 19:50:36 131

原创 西红柿炒鸡蛋解释设计模式之模板模式

一、模板设计模式的核心模板模式的核心是:父类定好流程,具体的各个步骤交给子类们自己去实现。这样可以一类多用,不必因为一点类似的改动修改原来的接口或者代码。二、举例和代码/** * @program: data-structure * @description: 模板 * @author: Miller.FAN * @create: 2020-02-01 14:21 **/...

2020-02-01 14:48:25 453

原创 设计模式之遍历器模式 Iterator

一、 遍历器大家都用过,内部是如何实现的,该模式设计有什么内涵呢?二、遍历器模式的角色组成2个接口+3个类,无继承,有聚合和实现关系。三、代码举例1、遍历器接口public interface Iterator { public abstract boolean hasNext(); public abstract Object next();}2、...

2020-01-29 17:17:53 262

原创 Mysql慢日志的使用

1、获取慢日志的信息2、复制慢日志的路径,在C盘中搜索3、慢日志分析# Time: 2019-08-01T01:52:44.249356Z# User@Host: root[root] @ localhost [127.0.0.1] Id: 4043# Query_time: 11.743046 Lock_time: 0.000049 Rows_sent: 2400...

2020-01-06 15:52:00 172

原创 使用Gson,将javaBean转换成json格式

在pom文件中引入:<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson --><dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artif...

2020-01-06 14:54:51 1015

原创 MySQL优化之IP地址的存储

背景:spring boot +Mybatis + MySql设计一个管理系统。数据库表设计:CREATE TABLE `NewTable` (`id` int(11) NOT NULL AUTO_INCREMENT ,`device_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAUL...

2019-12-31 11:04:44 356

原创 微服务之模式

微服务知识图谱:

2019-12-20 16:38:47 88

原创 源码分析之WebSocketHandshake

一、基础知识1、英语补习Algotithm 算法; verify 验证; split 裂解。2、使用websocket交互流程客户端与服务端连接成功之前,使用的通信协议是 HTTP。连接成功后,使用的才是 WebSocket。3、规定 RFC6455 对客户端握手的规定,原文锚点链接为 看这里The opening handshake is intende...

2019-12-20 15:05:18 1537

原创 WebSocket协议与java实现

一、webSocket协议研究:研究源码发现有些域和方法的算法看不懂,不知道是什么含义。于是回来看看协议。网址:webSocket协议该协议的帧结构:FIN:判断这一帧数据是不是这一消息的最后一帧。RSV1、RSV2、RSV3: 必须是0,除非通信双方做了特别的协商Opcode: 4 bits 占有4位,定义了PayLoad Data的含义 我理解是代表帧的类型...

2019-12-19 15:38:25 813

原创 java代码下载地图瓦片

https://www.cnblogs.com/aeolian/p/8761430.html

2019-12-19 11:21:14 697

原创 自己实现一套异常处理机制

1、异常定义import org.eclipse.paho.client.mqttv3.internal.MessageCatalog;public class MqttException extends Exception { private static final long serialVersionUID = 300L; public static final ...

2019-12-18 16:06:14 366

原创 java字节数组和字符数组的互转算法

1、字节数组转字符数组 public static char[] toChar(byte[] b) { if (b == null) { return null; } else { char[] c = new char[b.length / 2]; int i = 0; ...

2019-12-17 18:42:21 386 1

原创 org.eclipse.paho.client.mqttv3源码分析,2类遍历方式

每天一段源码分析:import java.util.Properties;private static final String[] propertyKeys = new String[]{"com.ibm.ssl.protocol", "com.ibm.ssl.contextProvider", "com.ibm.ssl.keyStore", "com.ibm.ssl.keyStore...

2019-12-17 15:19:51 241

原创 加密算法之模糊算法

1、原理 :与给定的byte[8] 内的值取异或2、代码 private static final byte[] key = new byte[]{-99, -89, -39, -128, 5, -72, -119, -100}; public static String obfuscate(char[] password) { if (password ...

2019-12-13 17:25:29 492

原创 Base64编码原理解析

1、算法原理:将待转换的字符串每3个字节分为一组,得到一个占24位的数;将得到的24位数每6位分为1组,一共分为4组;每组前面加00 ,转成4个字节;新得到的4个字节,每个字节代表的数转成10进制与给定的字符数组中的一个元素对应。 private static final char[] PWDCHARS_ARRAY = "./0123456789ABCDEFGHIJKLMNO...

2019-12-13 15:44:13 188

原创 spring cloud 项目新建的modle,打包时报错找不到主类Unable to find main class

现象:Unable to find main class Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.0.4.RELEASE:repackage (default) on project spring-cloud-kubeedge-core: Execution default of ...

2019-12-11 16:04:36 595

原创 MQTT的java实现org.eclipse.paho.client.mqttv3 源码分析(一)

org.eclipse.paho.client.mqttv3.internal.wire : MQTT协议中报文信息,里面包含有心跳包、订阅包、发布包、确认包等。1、MqttWireMessage源码package com.miller.springcloudkebeedgeprotocol.coap;/** * @program: spri...

2019-12-10 17:59:12 7423

原创 java的类加载的分类和加载器之间的关系

java虚拟机的ClassLoader加载类时选择加载器按照 启动类加载器--->扩展类加载器--->应用类加载器--->自定义类加载器的循序进行。当系统使用一个类时,需要检查这个类是否已经被加载,会先从底层类加载器进行判断。在这些类加载器中,启动类时C代码编写的,并且在java中没有对象与之对应。系统的核心类就是由启动类加载器进行加载的,他也是虚拟机的核心组件。扩展...

2019-12-07 11:23:42 525

原创 和虚拟机谈恋爱的那些事儿

java程序员离不开虚拟机,一个好的程序必须是和虚拟机配合很好的程序,程序写的再牛逼,和虚拟机的特性不匹配,结果是弄巧成拙。你必须和虚拟机谈一场恋爱,要想谈好恋爱,你就得了解虚拟机的结构、原理、特性。一、虚拟机基础知识1、虚拟机的分类系统虚拟机和程序虚拟机;大名鼎鼎的Visual Box和VMware就是系统虚拟机,而JVM,也就是java虚拟机其实式程序虚拟机。2、java虚拟机...

2019-12-04 13:51:29 179

原创 spring 条件化的bean

1、假设你希望一个bean只有在应用的类路径下包含特定的库时才创建。或者希望某个bean只有在另外的特定的bean也声明了之后才创建。还可以设置某个特定的环境变量设置之后,才会创建某个bean。2、什么地方会用到呢?当创建bean是附件条件的时候。3、举个例子package org.springframework.cloud.kubernetes.config.reload;...

2019-11-28 17:32:32 228

原创 求助帅哥程序员,不帅的不用进来

spring cloud K8s源码阅读:package org.springframework.cloud.kubernetes.ribbon;import java.lang.reflect.Field;import java.lang.reflect.Modifier;import java.lang.reflect.ParameterizedType;import java...

2019-11-25 11:20:41 242 2

原创 spring boot 中使用redis的简单方法

1、首先要用Docker将redis启动起来,使用默认端口号即可。2、在pom文件中导入依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instan...

2019-11-22 12:43:08 157 1

原创 KubeEdge深度研究和学习

1、KubeEdge是什么?KubeEdge是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于kubernetes构建,并为网络应用程序提供基础架构支持。云和边缘之间的部署和元数据同步。 KubeEdge使用Apache 2.0许可。并且绝对可以免费用于个人或商业用途。我们欢迎贡献者!KubeEdge 的目标是创建一个开放平台,使能边缘计算,将容器化应用编排功能扩展到...

2019-11-21 16:49:56 886

原创 面向切面编程Spring

最近在学习面向切面编程,把一个Dome贴出来,大家一起学习。1、定义一个目标,这里使用接口。package com.miller.emperor.aspects;//切面中切面的目标对象public interface Performance { public void perform();}2、目标接口的实现类package com.miller.emper...

2019-11-20 15:16:04 214 1

原创 Spring MVC 之DispacherServlet源码分析

1、DispacherServlet源码分析//// Source code recreated from a .class file by IntelliJ IDEA// (powered by Fernflower decompiler)//package org.springframework.web.servlet;import java.io.IOException;...

2019-11-20 09:58:39 265

原创 kubernetes入门教程

1、虚拟化技术时云技术的基础。2、应用的容器化,呼唤容器编排技术的出现。3、2015年7月k8s1.0版本发布,占有80%的市场。4、kubernetes物理上采用Master/node的形式,master一般有3个,Node数量不限。5、master的组件包括API server,Scheduler,Controller manager。6、node主要有Kublet,kub...

2019-11-19 15:47:56 576

原创 用CyclicBarrier聊聊赵匡胤建立北宋,一统天下的过程

一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用。因为该 barrier 在释放等待线程后可以重用,所以称它为循环 的 barrier。1、用枚举表示前政权和地方割据政权import lombok.Getter;pub...

2019-11-14 14:16:54 275 1

原创 用程序员的语言:5000工科男抢200女同学做女朋友,怎么完美解决

1、有人在群里喊为啥我的打印结果不对,我一看写的还挺有意思,不仅用到了Semaphore,还有线程管控和排序问题。就帮着改了一下。原来的代码是这样写的:public class JiShuDemo { /** * @Description: 当只有一个线程去执行加一的操作时,最终的结果都是等于总数5000 * 但是...

2019-11-14 10:54:20 958 3

原创 自旋锁的实现

1、请自己写一个自旋锁。OK,不仅写好了;而且验证一遍。/** * @program: mybatis * @description: 自己实现一个自旋锁 * @author: Miller.FAN * @create: 2019-11-13 14:19 **/public class MyLock { private AtomicReference atomicR...

2019-11-13 14:39:27 419 3

原创 HashMap是线程不安全的?证明它,并提出线程安全的解决办法!

1、线程不安全的例子public class testHashMapUnsafe { public static void main(String[] args) { HashMap<String,Object> map = new HashMap<String,Object>(); for (int i = 0; i &lt...

2019-11-12 18:26:50 484

原创 HashSet线程不安全,证明它,并且提出线程安全的解决办法

1、HashSet线程不安全public class testHashSetUnsafe { public static void main(String[] args) { HashSet<String> set = new HashSet<>(); for (int i = 0; i <30; i++) { ...

2019-11-12 18:13:14 1827

原创 ArrayList线程不安全,如何改进?CopyOnWriteArrayList

1、ArrayList线程不安全测试代码public class testArrayListUnsafe { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.forEach(Syste...

2019-11-12 17:33:59 190 1

原创 CAS是什么?AtomicInteger为什么使用CAS? AtomicInteger的底层原理是什么?

1、CAS 即 Compare -And- Swap 比较并交换;2、 通过AtomicInteger.compareAndSet();方法能够解决多线程模式下i++计算结果出现的数据不一致的问题。/** * @program: mybatis * @description: CAS * @author: Miller.FAN * @create: 2019-11-11 ...

2019-11-12 09:47:25 477 2

原创 用双端检锁机制不能保证线程安全的原因是什么?

用双端检锁机制不能保证线程安全,原因是存在指令重排。/** * @program: mybatis * @description: * @author: Miller.FAN * @create: 2019-11-11 17:49 **/public class SingletonDome { private static SingletonDome instance...

2019-11-11 18:16:09 1014

原创 EnumMap类的学习和使用

1、类图;2、源码分析;3、使用第一步:类图EnumMap继承AbstractMap实现Serializable和Cloneable接口public class EnumMap<K extends Enum<K>, V> extends AbstractMap<K, V> implements java.io.Serializa...

2019-11-11 10:02:16 398 1

软件设计师考试资料---04-17年真题+模拟题

软件设计师真题资源,覆盖十多年的真题,有答案。 软考必用资源。

2018-05-24

空空如也

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

TA关注的人

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