- 博客(67)
- 资源 (1)
- 收藏
- 关注
原创 k8s集群安装v1.20.9后-2-改造部署自己的服务k8sApp,增加istio
k8s集群安装v1.20.9后-2-改造部署自己的服务k8sApp,增加istio
2023-09-26 16:57:30
631
原创 枚举类型转为Map使用
背景代码中常常需要判定值是否为枚举类型的某一个值,可以使用固定类型来转换,但是仍然希望有一个工具类,可以将传入的所有枚举类型转换为Map使用。代码1.枚举基类/** * @ClassName: IBaseEnum * @Description: 相应状态码及信息--基础枚举接口 * @author: Administrator * @date: 2021年4月25日 上午11:05:56 */public interface IBaseEnum { /** * @Title: g
2022-01-05 14:00:09
6198
1
原创 progit学习笔记--2.文件状态
git管理的工作目录下文件状态工作目录下的每一个文件都不外乎这两种状态:已跟踪 或 未跟踪。记录更新到仓库,操作后文件的状态转换
2021-09-09 16:49:59
169
原创 progit学习笔记--1.获取git仓库
两种方式获取:从github克隆项目获取1.github新建仓库2.使用git clone命令克隆到本地地址使用上面图片地址注意第一次push会让你登录github,可以选择使用token,弹出框内点击generate,自动跳转到github生成token页面给你生成一个,回填到IDEA的token中即可,以后push就不用再验证身份了。...
2021-09-09 16:46:39
172
原创 k8s学习实践--迁移自己的springcloud微服务项目到k8s
最近入职了新公司,项目用到以前没用到的k8s,k8s学习实践系列记录一下我的学习demo吧。背景我已经有了k8s集群,上面做了mysql并支持持久化存储(PVC+PV+NFS),现在要迁移自己的服务到k8s集群中,并使用k8s中的mysql服务。mysql服务之前那篇文章已经搭好了。由于我的是springcloud微服务应用,使用了spring consul注册中心,迁移时还需要迁移注册中心。实现步骤1.本地测试1.1测试k8s的mysql服务连通性使用centos ip+port测试是否程序
2021-07-23 14:10:06
719
原创 k8s学习实践--mysql+PVC+PV+NFS
最近入职了新公司,项目用到以前没用到的k8s,k8s学习实践系列记录一下我的学习demo吧。必要知识K8s里面最小运行单元是Pod,它一旦重新创建,里面的文件就会一起消失,再次创建的Pod标识会变化,里面内容也将还原到最初。假设Pod是一个mysql服务,希望下次不小心Pod重启或者删除了再次创建,里面存储的数据仍然存在,就需要一些持久化存储方面的知识。比如我们的PV和PVC。PV是一个请求设置帮助我们在远端文件存储服务器等上面开启空间,PVC是一个请求设置程序需要多大的PV,一般由对应Pod服务使用
2021-07-22 09:32:22
281
原创 k8s学习实践--configMap配置yaml文件,供程序使用
背景最近入职了新公司,项目用到以前没用到的k8s,k8s学习实践系列记录一下我的学习demo吧。现在有一个项目,需要将业务有关的配置文件暴露出来,方便修改,而不是每次修改代码提交变更重新部署。(Kubernetes这个英文我老写错,先这么用吧不碍事。)改造前的项目demo:你需要准备K8s服务器:内包含docker,以及k8s必要组件包括Ingress Controller等(Pv对应存储服务器非必须,仅测试configMap)。简单项目介绍为了模拟简单,该项目仅为springboot-w
2021-07-21 13:55:16
866
2
原创 多线程之任务时限
有的时候我们希望在一定时间内获取这个任务的结果,如果没有获取到就结束这个任务。这个时候需要对任务的时间做一个限制。Future.get(long timeout, TimeUnit unit)future.get方法提供了这样的参数,当结果可用时,它将立即返回,如果在指定时限内没有计算出结果,那么将抛出TimeoutException。当任务超时后,future也提供了一定的方法来取消任务...
2018-12-12 14:57:03
581
原创 多线程之CompletionService获取多个任务结果并进行汇总
上一章末尾也说道,这个接口,更好地实现了任务提交任务获取这种程序,更加方便。例子如下:package com.cc.mutilineExample.callableAndFuture.test5_completion_future;import java.math.BigDecimal;import java.util.ArrayList;import java.util.List;...
2018-12-10 11:44:52
2948
原创 多线程之Callable/Future获取多个任务结果并进行汇总
许多不能立即获得计算结果的延迟计算,都可以使用Callable/Future这种形式。例如数据库查询等。Callable是对任务的一种抽象,通过在Executor中包含封装的Callable任务来执行,将结果封装为Future。Future提供了相应的方法判断是否已经完成,以及获取任务的结果(future.get())等方便进行操作。Get方法的行为取决于任务的状态(尚未开始、正在运行、已完成)...
2018-12-10 11:42:27
9236
2
原创 多线程之Barrier栅栏获取多个任务结果并进行汇总
利用直接在一个线程中求和是效率非常低的,我们通过栅栏,先将这个问题拆分成一系列相互独立的子问题,通过栅栏后,将子问题的问题汇集起来,进行全部的求解。CyclicBarrier是一个很好的实现,它的构造方法中有一个Runnable参数,这个是最后进行汇总的方法,比如我们最后将计算结果求和,这里就是求和的执行。await()方法利用栅栏特性,等待所有线程求完元素之和再计算平均值。书上具体的介绍...
2018-12-10 11:32:42
879
原创 多线程之线程池方式--练习生产者消费者模式
虽然Executor是个简单的接口,但它却为灵活且强大的异步任务执行框架提供了基础,该框架能支持多种不同类型的任务执行策略。它提供了一种标准的方法将任务的提交过程与执行过程解耦开来,并用Runnable来表示任务。Executor基于生产者-消费者模式,提交任务的操作相当于生产者(生成待完成的工作单元),执行任务的线程则相当于消费者(执行完这些工作单元)。如果要在程序中实现一个生产者-消费者的设...
2018-12-05 16:25:08
734
原创 多线程之同步容器类
同步容器类此种同步容器类(synchronized开头的方法)在底层将每种add,remove等方法前加上了synchronized修饰。1.在同步容器中,这些复合操作在没有客户端加锁的情况下仍然是线程安全的,但当其他线程并发地修改容器时,它们可能会表现出意料之外的行为。2.可以通过在客户端加锁来解决不可靠迭代的问题,但要牺牲一些伸缩性。这同样会导致其他线程在迭代器件无法访问它,因此降低了...
2018-11-21 15:53:14
221
原创 多线程之阻塞队列BlockingQueue简化生产者消费者模式
在基于阻塞队列构建的生产者—消费者设计中,当数据生成时,生产者把数据放入队列,而当消费者准备处理数据时,将从队列中获取数据。生产者不需要知道消费者的标识或数量,或者它们是否是唯一的生产者,而只需将数据放入队列即可。同样,消费者也不需要知道生产者是谁,或者工作来自何处。BlockingQueue简化了生产者—消费者设计的实现过程,它支持任意数量的生产者和消费者。因为BlockingQueue内部自...
2018-11-19 14:41:47
245
原创 多线程之进阶Lock替换掉synchronized--练习生产者消费者模型
学习到Lock对象啦,用它替换掉synchronized之前两个小例子。这里等待/唤醒模式,用了Conditon。结合之前的生产者消费者例子,很好理解。其他类不变,只替换掉MyStack类:package com.cc.p_c_stack_mutiList2;import java.util.ArrayList;import java.util.List;import java.ut...
2018-10-16 10:27:38
365
原创 多线程之进阶Lock替换掉synchronized--模拟多窗口共同卖票
学习到Lock对象啦,用它替换掉synchronized之前两个小例子。效果差不多的,不过他有Condition特有的功能,这里没有体现出来。主要看替换点,结合前面synchronized写法,很好理解。package com.cc.sellticket3;import java.util.concurrent.locks.ReentrantLock;/* * 卖票服务 */pub...
2018-10-16 10:23:16
334
原创 多线程--练习生产者消费者模型
主要是wait/notify的理解和使用。package com.cc.p_c_stack_mutiList;//消费者public class C { private MyStack myStack; public C(MyStack myStack) { super(); this.myStack = myStack; } public void popServic...
2018-10-09 15:28:47
1097
原创 多线程--模拟多窗口卖票
学习java多线程知识点–线程安全与同步 基础练习–模拟多窗口卖票程序。1.多窗口卖票–各自卖票package com.cc.sellticket;/** * 模拟多窗口卖票 -- 每个窗口各自卖票 * @author CC * */public class SellTicket1 extends Thread{ private int tickets = 5...
2018-09-11 11:01:17
951
原创 SpringCloud-Maven打包--问题疑惑与解决
1.项目在webapp下的web-inf下引入了依赖包,run as?maven install报错: 找不到符号右键项目->MAVEN->Update Project Configuration 然后clean相关项目 再打包依赖包就在maven里面了2.spring-boot-maven-plugin 打包后class path resource [mybatis...
2018-05-24 17:32:46
2769
原创 SpringBoot--关于使用webapp目录
ž之前我在学习springBoot集成springMVC的时候发现webapp目录, 1. 直接右键运行,访问不到页面,原来并不是不支持啊,只是默认没有把它放在编译路径里面。 我们可以在项目的package exlorer视图下,右键build path—>configure build path—>source下 —>add folder按钮,添加编译路径appl...
2018-04-26 10:56:31
42357
3
原创 ant design入门学习笔记
今天要学习一种新的企业级UI组件——ant design 参考资源https://ant.design/docs/react/introduce特点面向Web应用程序的企业级UI设计语言。 开箱即用的一组高品质React组件。 用TypeScript完全定义的类型编写。 整套开发和设计资源和工具。环境支持现代浏览器和Internet Explorer 9+(带pol...
2018-04-01 22:24:50
43668
1
原创 Eclipse Memory Analyzer入门学习笔记
Eclipse Memory Analyzer是一个快速而功能丰富的Java堆分析器,可帮助您查找内存泄漏并减少内存消耗。 使用内存分析器分析数亿个对象的生产性堆转储,快速计算保留的对象大小,查看谁阻止垃圾收集器收集对象,运行报告以自动提取泄漏的嫌疑人。应用的主要领域是内存不足错误和高内存消耗。下载安装http://www.eclipse.org/mat/downloads.ph
2018-01-19 17:03:44
23695
3
原创 Elasticsearch(十五)elasticsearch用代码从数据库里查询导入到elasticsearch中并查询结果 -- logstash
在上一节我们导入数据使用的是java代码,其实这个步骤由logstash工具也可以实现哦~此学习笔记参考官方文档:https://www.elastic.co/guide/en/logstash/current/introduction.html下载安装Logstash唯一的依赖的Java运行环境,确保jdk版本足够高,我的本地是1.8 下载和解压出来就能使用了,不需要安装 因
2018-01-18 13:46:12
1523
原创 Elasticsearch(十四)elasticsearch用代码从数据库里查询导入到elasticsearch中并查询结果
最近做了个小例子:将数据库中数据导入到elasticsearch中,然后查询一条特定数据,看是不是比较快前情:在数据库中查询数据的速度是3.36s. 用代码从数据库中查出来再插入elasticsearch也许会比较慢,后续再学习用工具导入。 环境:elasticsearch5.3.0+jdk8+maven3.5类似数据库,我们需要先给elasticsearch中建立一个索引,放置我们需
2018-01-16 14:35:35
4223
1
原创 Elasticsearch(十三)elasticsearch请求体查询
到此我们一直在进行请求体查询,毕竟轻量查询(传递参数)那种写法太过复杂,但是一直不太系统,这一章可以更好系统地理解一下有哪些查询?每个查询类型大概功能是什么?摘抄于权威文档,可前往权威文档:https://elasticsearch.cn/book/elasticsearch_definitive_guide_2.x/full-body-search.html 请求体查询一节
2017-12-05 17:41:30
1353
2
原创 Elasticsearch(十一)elasticsearch搜索--最基本的工具
我们已经学会了如何使用 Elasticsearch 作为一个简单的 NoSQL 风格的分布式文档存储系统。我们可以将一个 JSON 文档扔到 Elasticsearch 里,然后根据 ID 检索。但 Elasticsearch 真正强大之处在于可以从无规律的数据中找出有意义的信息——从“大数据”到“大信息”。
2017-11-29 16:18:59
8482
原创 设计模式笔记(七)设计模式之一--单例模式
定义Singleton Pattern 我们都知道一个类class文件如果是public的话,可以通过new关键字来以class为模板,创建很多真实的对象。但是单例模式要求:一个类创建出一个对象。
2017-11-27 22:44:22
205
原创 Elasticsearch(十)elasticsearch分布式文档存储
在前面的章节,我们介绍了如何索引和查询数据,不过我们忽略了很多底层的技术细节, 例如文件是如何分布到集群的,又是如何从集群中获取的。
2017-11-27 11:08:55
2381
原创 Elasticsearch(八)elasticsearch数据输入和输出
这节的内容比较多,简略总结一下Elastcisearch 是分布式的 文档 存储。它能存储和检索复杂的数据结构–序列化成为JSON文档–以 实时 的方式。 换句话说,一旦一个文档被存储在 Elasticsearch 中,它就是可以被集群中的任意节点检索到。在 Elasticsearch 中, 每个字段的所有数据 都是 默认被索引的 。 即每个字段都有为了快速检索设置的专用倒排索引。
2017-11-24 09:04:56
9905
翻译 Ant笔记(二)Ant使用
本文为翻译官方文档而来,不当之处请指正。Ant的构建文件写在xml文件当中,每一个构建文件包含一个project和至少一个(默认的)target。Targets包含task elements。每一个task element都有一个id属性,可以提供给此值的引用。当然id属性是唯一的。
2017-11-22 15:44:59
625
原创 Ant笔记(一)Ant下载与安装
此系列参考官方文档http://ant.apache.org/manual/index.htmlAnt是什么Apache Ant是一个java为基础的构建工具,它跨平台,使用清晰,功能强大。
2017-11-22 10:09:21
4744
原创 设计模式笔记(六)设计六大原则之六--开闭原则
定义一个软件实体如类,模块和函数应该对扩展开放,对修改关闭。即一个软件实体应该通过扩展来实现变化,而不是通过修改已有的代码来实现变化。
2017-11-21 22:45:35
261
原创 JUnit笔记--JUnit中的断言
断言是在开发和单元测试时开发人员使用的,用来验证我们代码的编写虽然编译通过了,但逻辑上是否有漏洞,是否经得住程序运行的各种考验。比如一个简单的获得数组中最大值的方法getMax中,如果数组传来为空,如果数组中值皆为一致的数字,我们的方法getMax还能获得正确的结果吗?
2017-11-21 21:45:21
821
原创 Elasticsearch(七)elasticsearch集群内原理
ElasticSearch 的主旨是随时可用和按需扩容。 而扩容可以通过购买性能更强大( 垂直扩容 ,或 纵向扩容 ) 或者数量更多的服务器( 水平扩容 ,或 横向扩容 )来实现。 虽然 Elasticsearch 可以获益于更强大的硬件设备,但是垂直扩容是有极限的。 真正的扩容能力是来自于水平扩容–为集群添加更多的节点,并且将负载压力和稳定性分散到这些节点中。
2017-11-21 16:23:12
1144
原创 Elasticsearch(六)elasticsearch聚合分析
终于到了最后一个业务需求:支持管理者对雇员目录做分析。 Elasticsearch 有一个功能叫聚合(aggregations),允许我们基于数据生成一些精细的分析结果。聚合与 SQL 中的 GROUP BY 类似但更强大。
2017-11-20 16:32:21
9721
原创 Elasticsearch(五)elasticsearch高亮搜索
许多应用都倾向于在每个搜索结果中 高亮 部分文本片段,以便让用户知道为何该文档符合查询条件。在 Elasticsearch 中检索出高亮片段也很容易。
2017-11-17 14:39:55
3487
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人