<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[javalingyu的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/javalingyu</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; javalingyu]]></copyright><item><title><![CDATA[运维,放过监控-也放过自己吧]]></title><link>https://blog.csdn.net/javalingyu/article/details/125174250</link><guid>https://blog.csdn.net/javalingyu/article/details/125174250</guid><author>javalingyu</author><pubDate>Tue, 07 Jun 2022 21:57:30 +0800</pubDate><description><![CDATA[根据多年和运维打交道的经历，我发现，运维常常让监控变得无效。。。 1.我的监控故事 
我做过两年多的运维工作，后面就转做运维平台开发了，也一步步看着监控系统越来越没用。 1.1 有用的监控 
当我做运维要负责oncall时，我一直认为监控系统做的还可以，并不是因为做了太多事情，而是因为运维的业务还是单体应用，也没有太多的监控需要加。 记得那会公司还是用Nagios(估计新人已经没多少人知道了)，不过监控的维护工作着实费劲。后面我就开始研究zabbix，最大的好处就是它可以discovery&自动添加监控。后]]></description><category></category></item><item><title><![CDATA[美团二面：为什么 Redis 会有哨兵？]]></title><link>https://blog.csdn.net/javalingyu/article/details/125174223</link><guid>https://blog.csdn.net/javalingyu/article/details/125174223</guid><author>javalingyu</author><pubDate>Tue, 07 Jun 2022 21:54:17 +0800</pubDate><description><![CDATA[订阅专栏
话不多说，发车发车！提纲为什么要有哨兵机制？
在 Redis 的主从架构中，由于主从模式是读写分离的，如果主节点（master）挂了，那么将没有主节点来服务客户端的写操作请求，也没有主节点给从节点（slave）进行数据同步了。主节点挂了这时如果要恢复服务的话，需要人工介入，选择一个「从节点」切换为「主节点」，然后让其他从节点指向新的主节点，同时还需要通知上游那些连接 Redis 主节点的客户端，将其配置中的主节点 IP 地址更新为「新主节点」的 IP 地址。这样也不太“智能”了，要是有一个节点能监]]></description><category></category></item><item><title><![CDATA[Linux上TCP的几个内核参数调优及Linux多线程应用性能分析]]></title><link>https://blog.csdn.net/javalingyu/article/details/125174192</link><guid>https://blog.csdn.net/javalingyu/article/details/125174192</guid><author>javalingyu</author><pubDate>Tue, 07 Jun 2022 21:51:57 +0800</pubDate><description><![CDATA[Linux作为一个强大的操作系统，提供了一系列内核参数供我们进行调优。光TCP的调优参数就有50多个。在和线上问题斗智斗勇的过程中，笔者积累了一些在内网环境应该进行调优的参数。在此分享出来，希望对大家有所帮助。调优清单
好了，在这里先列出调优清单。请记住，这里只是笔者在内网进行TCP内核参数调优的经验，仅供参考。同时，笔者还会在余下的博客里面详细解释了为什么要进行这些调优！tcp_max_syn_backlog,somaxconn,tcp_abort_on_overflow
tcp_max_syn_back]]></description><category></category></item><item><title><![CDATA[一文读懂，DDD落地数据库设计实战]]></title><link>https://blog.csdn.net/javalingyu/article/details/125173301</link><guid>https://blog.csdn.net/javalingyu/article/details/125173301</guid><author>javalingyu</author><pubDate>Tue, 07 Jun 2022 21:46:40 +0800</pubDate><description><![CDATA[1. 什么是流程实例　　参与者（可以是用户也可以是程序）按照流程定义内容发起一个流程，这就是一个流程实例，是动态的。2. 流程定义和流程实例的图解3.使用压缩包 部署流程　　编写测试代码


　　查看数据库4. 查看流程定义　　编写测试代码


　　控制台结果5. 删除流程　　编写测试代码


6. 从数据中读取资源文件到本地　　编写测试代码


　　查看文件7. 业务系统和流程系统进行关联　　编写测试代码


　　查看数据库8. 流程激活和挂起　　编写测试代码


　　控制台效果9. 单个流程实例的挂起　]]></description><category></category></item><item><title><![CDATA[工作流—activiti7环境搭建]]></title><link>https://blog.csdn.net/javalingyu/article/details/125173191</link><guid>https://blog.csdn.net/javalingyu/article/details/125173191</guid><author>javalingyu</author><pubDate>Tue, 07 Jun 2022 20:55:52 +0800</pubDate><description><![CDATA[1. 什么是工作流　　　　　　工作流(Workflow)，就是通过计算机对业务流程自动化执行管理。它主要解决的是“使在多个参与者 之间按照某种预定义　　　　的规则自动进行传递文档、信息或任务的过程，从而实现某个预期的业务目标， 或者促使此目标的实现”。2. 搭建activiti环境　　2.1 什么是activiti　　　　　　　　Alfresco 软件在 2010 年 5 月17 日宣布Activiti 业务流程管理（BPM）开源项目的正式启动，其首席架构师由业务流程管理BPM　　 　　的专家 Tom Ba]]></description><category></category></item><item><title><![CDATA[Activiti7工作流的使用]]></title><link>https://blog.csdn.net/javalingyu/article/details/125171399</link><guid>https://blog.csdn.net/javalingyu/article/details/125171399</guid><author>javalingyu</author><pubDate>Tue, 07 Jun 2022 19:08:19 +0800</pubDate><description><![CDATA[1.3 ProcessEngineConfiguration#

1.3.1 概述#


	流程引擎的配置类，通过ProcessEngineConfiguration可以创建工作流引擎ProcessEngine，常用的两种方法如下：


1.3.2 StandaloneProcessEngineConfiguration#


	通过org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration，Activiti可以单独运行，使用它创建的P]]></description><category></category></item><item><title><![CDATA[SpringBoot系列——Activiti7工作流引擎]]></title><link>https://blog.csdn.net/javalingyu/article/details/125166925</link><guid>https://blog.csdn.net/javalingyu/article/details/125166925</guid><author>javalingyu</author><pubDate>Tue, 07 Jun 2022 15:52:24 +0800</pubDate><description><![CDATA[　　工作流程是我们日常开发项目中常见的功能，本文记录springboot整合activiti7。　　官网：https://www.activiti.org　　数据库表　　act_hi_*：'hi’表示 history，此前缀的表包含历史数据，如历史(结束)流程实例，变量，任务等等。　　act_ge_*：'ge’表示 general，此前缀的表为通用数据，用于不同场景中。　　act_evt_*：'evt’表示 event，此前缀的表为事件日志。　　act_procdef_*：'procdef’表示 proce]]></description><category></category></item><item><title><![CDATA[Java面试总结。多达十万字的面试内容总结 简直yyds]]></title><link>https://blog.csdn.net/javalingyu/article/details/125166723</link><guid>https://blog.csdn.net/javalingyu/article/details/125166723</guid><author>javalingyu</author><pubDate>Tue, 07 Jun 2022 15:42:06 +0800</pubDate><description><![CDATA[基础篇1、Java语言有哪些特点2、面向对象和面向过程的区别3、八种基本数据类型的大小，以及他们的封装类4、标识符的命名规则。5、instanceof关键字的作用6、Java自动装箱与拆箱7、重载和重写的区别8、equals与==的区别9、Hashcode的作用10、String、String StringBufer和StringBuilder的区别是什么11、ArrayList和linkedList的区别12、HashMap和HashTable的区别13、Collection包结构，与Collection]]></description><category></category></item><item><title><![CDATA[为拿 Offer，“闭关修炼，相信努力必成大器]]></title><link>https://blog.csdn.net/javalingyu/article/details/125164936</link><guid>https://blog.csdn.net/javalingyu/article/details/125164936</guid><author>javalingyu</author><pubDate>Tue, 07 Jun 2022 14:37:26 +0800</pubDate><description><![CDATA[Java 开源项目【公开仓库 使用 Spring 框架能带来哪些好处？Spring 框架中有哪些不同类型的事件？Spring 框架中都用到了哪些设计模式？什么是控制反转(IOC)？请解释下 Spring 框架中的 IoC ？BeanFactory 和 和 ApplicationContext 有什么区别？Spring 有几种配置方式？如何用基于 XML 配置的方式配置 Spring ？如何用基于 Java 配置的方式配置 Spring ？怎样用注解的方式配置 Spring ？请解释 Spring Bean ]]></description><category></category></item><item><title><![CDATA[最新Java后端面经合集 | 阿里腾讯百度字节]]></title><link>https://blog.csdn.net/javalingyu/article/details/125164562</link><guid>https://blog.csdn.net/javalingyu/article/details/125164562</guid><author>javalingyu</author><pubDate>Tue, 07 Jun 2022 14:22:19 +0800</pubDate><description><![CDATA[java领域阿里面经11.简单介绍项目2.知道哪些数据结构以及他们的特点3.链表增删快，那如何提高其查询效率，有没有什么想法？4.B+树了解吗？B+树如何范围查询？B+树退化的极端情况是什么？5.跳表了解吗？6.大顶堆、小顶堆了解吗？7.实现长地址请求到服务端，然后服务端重定向短地址给客户端，如何实现长短地址的互相映射？8.那我现在有10份数据，有1000个线程来争抢，你要怎么处理？9.分布式是什么？为什么要分布式？分布式又会有哪些问题？分布式系统是如何实现事物的？10.Redis集群了解吗？如何处理宕机的]]></description><category></category></item><item><title><![CDATA[Java面试题总结（附答案）]]></title><link>https://blog.csdn.net/javalingyu/article/details/125153364</link><guid>https://blog.csdn.net/javalingyu/article/details/125153364</guid><author>javalingyu</author><pubDate>Mon, 06 Jun 2022 20:11:53 +0800</pubDate><description><![CDATA[题目篇
一、Java基础
1、JDK 和 JRE 有什么区别？
2、== 和 equals 的区别是什么？
3、两个对象的 hashCode()相同，则 equals()也一定为 true，对吗？
4、final 在 java 中有什么作用？
5、java 中的 Math.round(-1.5) 等于多少？
6、String 属于基础的数据类型吗？
7、java 中操作字符串都有哪些类？它们之间有什么区别？
8、String str="i"与 String str=new String(“i”)一样吗？
9]]></description><category></category></item><item><title><![CDATA[面渣逆袭：Redis连环五十二问，图文详解，这下面试稳了]]></title><link>https://blog.csdn.net/javalingyu/article/details/125153010</link><guid>https://blog.csdn.net/javalingyu/article/details/125153010</guid><author>javalingyu</author><pubDate>Mon, 06 Jun 2022 19:50:36 +0800</pubDate><description><![CDATA[Redis是一种基于键值对（key-value）的NoSQL数据库。比一般键值对数据库强大的地方，Redis中的value支持string（字符串）、hash（哈希）、 list（列表）、set（集合）、zset（有序集合）、Bitmaps（位图）、 HyperLogLog、GEO（地理信息定位）等多种数据结构，因此 Redis可以满足很多的应用场景。而且因为Redis会将所有数据都存放在内存中，所以它的读写性能非常出色。不仅如此，Redis还可以将内存的数据利用快照和日志的形式保存到硬盘上，这样在发生类似]]></description><category></category></item><item><title><![CDATA[Java 内存模型和 JVM 内存结构真不是一回事]]></title><link>https://blog.csdn.net/javalingyu/article/details/125152936</link><guid>https://blog.csdn.net/javalingyu/article/details/125152936</guid><author>javalingyu</author><pubDate>Mon, 06 Jun 2022 19:43:41 +0800</pubDate><description><![CDATA[这两个概念估计有不少人会混淆，它们都可以说是 JVM 规范的一部分，但真不是一回事！它们描述和解决的是不同问题，简单来说，JVM 是什么呢？它屏蔽了底层架构的差异性，是 Java 跨平台的依据，也是每个 Java 程序员必须了解的一部分。Java Virtual Machine(JVM) 是一种抽象的计算机，基于堆栈架构，它有自己的指令集和内存管理。它加载 class 文件，分析、解释并执行字节码。基本结构如下：如上图所示，JVM 主要分为三个子系统：类加载器、运行时数据区和执行引擎。类加载器子系统它主要功]]></description><category></category></item><item><title><![CDATA[Java虚拟机—Java8内存模型JVM（整理版）]]></title><link>https://blog.csdn.net/javalingyu/article/details/125152810</link><guid>https://blog.csdn.net/javalingyu/article/details/125152810</guid><author>javalingyu</author><pubDate>Mon, 06 Jun 2022 19:35:26 +0800</pubDate><description><![CDATA[对于Java程序员来说，在虚拟机自动内存管理机制的帮助下，不再需要手动释放内存，不容易出现内存泄露和内存溢出问题。一旦出现内存泄露和溢出方面的问题，如果不了解虚拟机是怎样使用内存的，排查错误将会异常艰难。Java虚拟机模型（Java Virtual Model，JVM），jvm的内部结构如下图所示。Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途，以及创建和销毁的时间，有的区域随着虚拟机进程的启动而存在，有些区域则依赖用户线程的启动和结束而建立和销]]></description><category></category></item><item><title><![CDATA[别再问什么是Java内存模型了，看这里]]></title><link>https://blog.csdn.net/javalingyu/article/details/125150856</link><guid>https://blog.csdn.net/javalingyu/article/details/125150856</guid><author>javalingyu</author><pubDate>Mon, 06 Jun 2022 17:23:15 +0800</pubDate><description><![CDATA[网上有很多关于Java内存模型的文章，在《深入理解Java虚拟机》和《Java并发编程的艺术》等书中也都有关于这个知识点的介绍。但是，很多人读完之后还是搞不清楚，甚至有的人说自己更懵了。本文，就来整体的介绍一下Java内存模型，目的很简单，让你读完本文以后，就知道到底Java内存模型是什么，为什么要有Java内存模型，Java内存模型解决了什么问题等。本文中，有很多定义和说法，都是笔者自己理解后定义出来的。希望能够让读者可以对Java内存模型有更加清晰的认识。当然，如有偏颇，欢迎指正。在介绍Java内存模型]]></description><category></category></item><item><title><![CDATA[Java分布式系统---消息中间件]]></title><link>https://blog.csdn.net/javalingyu/article/details/125150581</link><guid>https://blog.csdn.net/javalingyu/article/details/125150581</guid><author>javalingyu</author><pubDate>Mon, 06 Jun 2022 17:12:11 +0800</pubDate><description><![CDATA[消息中间件也可以称消息队列，是指用高效可靠的消息传递机制进行与平台无关的数据交流，并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息队列模型，可以在分布式环境下扩展进程的通信。当下主流的消息中间件有RabbitMQ、Kafka、ActiveMQ、RocketMQ等。其能在不同平台之间进行通信，常用来屏蔽各种平台协议之间的特性，实现应用程序之间的协同。其优点在于能够在客户端和服务器之间进行同步和异步的连接，并且在任何时刻都可以将消息进行传送和转发。是分布式系统中非常重要的组件，主要用来解决应用耦合、]]></description><category></category></item><item><title><![CDATA[Redis分布式锁实现Redisson 15问]]></title><link>https://blog.csdn.net/javalingyu/article/details/125146781</link><guid>https://blog.csdn.net/javalingyu/article/details/125146781</guid><author>javalingyu</author><pubDate>Mon, 06 Jun 2022 14:54:41 +0800</pubDate><description><![CDATA[在一个分布式系统中，由于涉及到多个实例同时对同一个资源加锁的问题，像传统的synchronized、ReentrantLock等单进程情况加锁的api就不再适用，需要使用分布式锁来保证多服务实例之间加锁的安全性。常见的分布式锁的实现方式有zookeeper和redis等。而由于redis分布式锁相对于比较简单，在实际的项目中，redis分布式锁被用于很多实际的业务场景中。redis分布式锁的实现中又以Redisson比较出名，所以本文来着重看一下Redisson是如何实现分布式锁的，以及Redisson提供]]></description><category></category></item><item><title><![CDATA[Windows GDI 窗口与 Direct3D 屏幕截图]]></title><link>https://blog.csdn.net/javalingyu/article/details/125145799</link><guid>https://blog.csdn.net/javalingyu/article/details/125145799</guid><author>javalingyu</author><pubDate>Mon, 06 Jun 2022 14:14:01 +0800</pubDate><description><![CDATA[Windows 上，屏幕截图一般是调用 win32 api 完成的，如果 C# 想实现截图功能，就需要封装相关 api。在 Windows 上，主要图形接口有 GDI 和 DirectX。GDI 接口比较灵活，可以截取指定窗口，哪怕窗口被遮挡或位于显示区域外，但兼容性较低，无法截取 DX 接口输出的画面。DirectX 是高性能图形接口（当然还有其他功能，与本文无关，忽略不计），主要作为游戏图形接口使用，灵活性较低，无法指定截取特定窗口（或者只是我不会吧），但是兼容性较高，可以截取任何输出到屏幕的内容，根据]]></description><category></category></item><item><title><![CDATA[有软件负载均衡，也有硬件负载均衡，选择哪个？]]></title><link>https://blog.csdn.net/javalingyu/article/details/125107001</link><guid>https://blog.csdn.net/javalingyu/article/details/125107001</guid><author>javalingyu</author><pubDate>Mon, 06 Jun 2022 14:13:04 +0800</pubDate><description><![CDATA[笔者最近在负责某集团网站时，同时用到了Nginx与F5，如图所示，负载均衡器F5作为处理外界请求的第一道“墙”，将请求分发到web服务器后，web服务器上的Nginx再进行处理，静态内容直接访问本地门户，动态数据则通过反向代理指向内网服务。其实Nginx和F5这两者均可用作网站负载均衡，那二者有什么区别呢？笔者在此浅谈下Nginx与F5的一些区别。目前很多网站或应用在设计之初都会为高并发的数据请求做负载均衡，不差钱的土豪用户一般会直接买F5硬件设备作为其负载均衡器，原因不用多说，其功能强大，不仅包含负载均衡]]></description><category></category></item><item><title><![CDATA[软件负载均衡和硬件负载均衡的选择]]></title><link>https://blog.csdn.net/javalingyu/article/details/125106893</link><guid>https://blog.csdn.net/javalingyu/article/details/125106893</guid><author>javalingyu</author><pubDate>Thu, 02 Jun 2022 21:10:07 +0800</pubDate><description><![CDATA[数据流量过大的网络中，单一设备一般是无法承担的，需要多台设备进行数据分流，而负载均衡器就是起到把数据分流到多台设备的作用。负载均衡也分了不少技术，用以满足不同的需求，有软/硬件负载均衡、本地/全局负载均衡、更高网络层负载均衡，以及链路聚合技术。我们用了软负载均衡，也用了硬件负载均衡，下面我们说说这两个各自的千秋。一.软件负载均衡指在服务器的操作系统上，安装软件，来实现负载均衡，如Nginx负载均衡。它的优点是基于特定环境、配置简单、使用灵活、成本低廉，可以满足大部分的负载均衡需求。（1）软件负载均衡主要有N]]></description><category></category></item></channel></rss>