xinyuan_java
码龄8年
  • 1,035,044
    被访问
  • 79
    原创
  • 981,031
    排名
  • 162
    粉丝
  • 2
    铁粉
关注
提问 私信
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
  • 加入CSDN时间: 2014-09-12
博客简介:

xinyuan的专栏

查看详细资料
个人成就
  • 获得281次点赞
  • 内容获得65次评论
  • 获得998次收藏
创作历程
  • 3篇
    2022年
  • 40篇
    2021年
  • 48篇
    2020年
  • 105篇
    2019年
  • 22篇
    2018年
  • 37篇
    2017年
  • 60篇
    2016年
  • 192篇
    2015年
  • 69篇
    2014年
成就勋章
TA的专栏
  • java
    180篇
  • SSL/TSL/HTTPS
    2篇
  • java源码解析
    19篇
  • j2ee框架
    45篇
  • VUE
    6篇
  • 小程序
    2篇
  • cache
    2篇
  • xml/json/text/dataformat
    8篇
  • html/css/html5
    25篇
  • jsp/freemarker
    3篇
  • javascript/ajax
    103篇
  • jqurey
    55篇
  • test
    1篇
  • sql
    96篇
  • mysql
    94篇
  • oracle
    10篇
  • OOAD
    3篇
  • linux
    19篇
  • Container
    4篇
  • ofBiz
    4篇
  • nodejs
    1篇
  • Distributed
    13篇
  • SOA/EAI/EIP
    9篇
  • architect
    30篇
  • cloud/data
    6篇
  • fulltext/lucene/es
    7篇
  • web-server
    9篇
  • http/tcp/ip
    19篇
  • REGXP
    3篇
  • SVN/Git/CVS
    3篇
  • tools
    20篇
  • summary
    47篇
兴趣领域 设置
  • 大数据
    flink
  • 人工智能
    opencv语音识别计算机视觉机器学习深度学习自然语言处理tensorflowpytorch图像处理数据分析
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Apache 架构师的 30 条设计原则

Apache 架构师的 30 条设计原则
转载
发布博客 2022.05.13 ·
27 阅读 ·
0 点赞 ·
0 评论

一致性哈希算法原理

一致性Hash算法背景  一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P环境中真正得到应用。  但现在一致性hash算法在分布式系统中也得到了广泛应用,研究过memcached缓存数据库的人都知道,memcached服务器端本身不提供分布式cache的一致性,而是由客户端来提供,具体在计算一致性has
转载
发布博客 2022.03.10 ·
33 阅读 ·
0 点赞 ·
0 评论

系统困境与软件复杂度:为什么我们的系统会如此复杂?

读 A Philosophy of Software Design 有感,软件设计与架构复杂度,你是战术龙卷风吗?01前言Aliware有一天,一个医生和一个土木工程师在一起争论“谁是世界上最古老的职业”。医生说:“上帝用亚当的肋骨造出了夏娃,这是历史上第一次外科手术,所以最古老的职业应该是医生”,土木工程师说:“在创世纪之前,上帝从混沌中创造了天堂与人间,这是更早之前的一次土木作业,所以最古老的职业应该是土木工程”。这时软件工程师拖着键盘走出来说,“那你认为,是谁创造了那片混沌?”..
转载
发布博客 2022.02.22 ·
58 阅读 ·
0 点赞 ·
0 评论

Angular、React、Vue.js 等 6 大主流 Web 框架都有什么优缺点

在这篇文章中,我们将对这个系列中所提到的每款框架做一个总结,包括我们所认为的强项和弱项。另外,我们为你留下了一些值得思考的问题。我是否需要使用框架?如果不尝试回答这个问题就是我们的失职,这越来越成为社会上某些人的口头禅,在网络平台上的争论也已经发展到犹如不需要额外编写 API 能更简单创建 Web 应用那样的地步。就像本系列中所有的内容一样,我们的回答也大都是依据这些内容。虽然无框架也能正常工作,但是,这也是有代价的。那些主张无框架手写 Javascript 的人,那些通常会被我们认
转载
发布博客 2021.09.02 ·
134 阅读 ·
1 点赞 ·
0 评论

SpringBoot实现动态增删启停定时任务

在spring boot项目中,可以通过@EnableScheduling注解和@Scheduled注解实现定时任务,也可以通过SchedulingConfigurer接口来实现定时任务。但是这两种方式不能动态添加、删除、启动、停止任务。要实现动态增删启停定时任务功能,比较广泛的做法是集成Quartz框架。但是本人的开发原则是:在满足项目需求的情况下,尽量少的依赖其它框架,避免项目过于臃肿和复杂。查看spring-context这个jar包中org.springframework.schedulin
转载
发布博客 2021.09.02 ·
108 阅读 ·
0 点赞 ·
0 评论

SpringBoot 集成 WebSocket,实现后台向前端推送信息

前言在一次项目开发中,使用到了Netty网络应用框架,以及MQTT进行消息数据的收发,这其中需要后台来将获取到的消息主动推送给前端,于是就使用到了MQTT,特此记录一下。一、什么是websocket?WebSocket协议是基于TCP的一种新的网络协议。它实现了客户端与服务器全双工通信,学过计算机网络都知道,既然是全双工,就说明了服务器可以主动发送信息给客户端。这与我们的推送技术或者是多人在线聊天的功能不谋而合。为什么不使用HTTP 协议呢?这是因为HTTP是单工通信,通信只能由客户端.
转载
发布博客 2021.09.02 ·
149 阅读 ·
0 点赞 ·
0 评论

代码规范(Sonar, P3C)

1.SonarLintSonarLint是一个代码质量检测插件,可以帮助我们检测出代码中的坏味道下载与安装在需要检测的单个文件或者单个项目上右键 --> Analyze --> Analyze with SonarLint或者选中文件或目录,点击菜单栏 Analyze --> Analyze with SonarLint我们还可以禁用某些规则如果需要同步自定义的规则时,可以绑定到SonarQube..
转载
发布博客 2021.09.02 ·
362 阅读 ·
0 点赞 ·
0 评论

几种Java常用序列化框架的选型与对比

一 背景介绍序列化与反序列化是我们日常数据持久化和网络传输中经常使用的技术,但是目前各种序列化框架让人眼花缭乱,不清楚什么场景到底采用哪种序列化框架。本文会将业界开源的序列化框架进行对比测试,分别从通用性、易用性、可扩展性、性能和数据类型与Java语法支持五方面给出对比测试。 通用性:通用性是指序列化框架是否支持跨语言、跨平台。 易用性:易用性是指序列化框架是否便于使用、调试,会影响开发效率。 可扩展性:随着业务的发展,传输实体可能会发生变化,但是旧实体有可能还会.
转载
发布博客 2021.09.02 ·
145 阅读 ·
0 点赞 ·
0 评论

cgroup 原理分析

原文: https://blog.csdn.net/zhonglinzhang/article/details/64905759一. cgroup 相关概念解释Cgroups提供了以下功能:限制进程组可以使用的资源(Resource limiting ):比如memory子系统可以为进程组设定一个memory使用上限,进程组使用的内存达到限额再申请内存,就会出发OOM(out of memory)进程组的优先级控制(Prioritization ):比如可以使用cpu子系统为某个进程组分配c.
转载
发布博客 2021.04.29 ·
309 阅读 ·
0 点赞 ·
0 评论

Linux CGroup总结

简介:Linux CGroup全称Linux Control Group, 是Linux内核的一个功能,用来限制,控制与分离一个进程组群的资源(如CPU、内存、磁盘输入输出等)。这个项目最早是由Google的工程师在2006年发起(主要是Paul Menage和Rohit Seth),最早的名称为进程容器(process containers)。在2007年时,因为在Linux内核中,容器(container)这个名词太过广泛,为避免混乱,被重命名为cgroup,并且被合并到2.6.24版的内核...
转载
发布博客 2021.04.29 ·
83 阅读 ·
0 点赞 ·
0 评论

分布式任务调度平台XXL-JOB

官网: https://www.xuxueli.com/xxl-job/XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。安装:1 初始化“调度数据库” /xxl-job/doc/db/tables_xxl_job.sql 如果mysql做主从,调度中心集群节点务必强制走主库;2 项目(发布 prod 配置文件) 2.1 调度中心集群 (admin) 作用:统一管理任务调度平台...
原创
发布博客 2021.04.13 ·
117 阅读 ·
0 点赞 ·
0 评论

rocketmq-学习

官网: http://rocketmq.apache.org/入门: http://rocketmq.apache.org/docs/quick-start/gtihub: https://github.com/apache/rocketmq中文文档: https://github.com/apache/rocketmq/tree/master/docs/cn代码样例: https://github.com/apache/rocketmq/blob/master/docs/cn/Rocket
转载
发布博客 2021.04.01 ·
159 阅读 ·
0 点赞 ·
0 评论

选型必看:RabbitMQ 七战 Kafka,差异立现

作为一个有丰富经验的微服务系统架构师,经常有人问我,“应该选择RabbitMQ还是Kafka?”。基于某些原因, 许多开发者会把这两种技术当做等价的来看待。的确,在一些案例场景下选择RabbitMQ还是Kafka没什么差别,但是这两种技术在底层实现方面是有许多差异的。不同的场景需要不同的解决方案,选错一个方案能够严重的影响你对软件的设计,开发和维护的能力。这篇文章会先介绍RabbitMQ和Apache Kafka内部实现的相关概念。紧接着会主要介绍这两种技术的主要不同点以及他们各自的优缺..
转载
发布博客 2021.03.31 ·
72 阅读 ·
0 点赞 ·
0 评论

如何在业务逻辑当中优雅引入重试机制

为什么要引入重试机制我们首先看看正常的业务系统交互流程,就像下面图中所示一样,我们自己开发的系统通过HTTP接口或者通过RPC去访问其他业务系统,其他系统在没出现任何问题的情况下会返回给我们需要的数据,状态为success。但大家在日常的开发工作当中应该碰到过不少这样的问题:自己应用因为业务需求需要调其他关联应用的接口或二方包,而其他应用的接口稳定性不敢过分恭维,老是出一些莫名奇妙的幺蛾子,比如由于接口暂时升级维护导致的短暂不可用,又或者网络抖动因素导致的单次接口请求失败。...
转载
发布博客 2021.03.23 ·
131 阅读 ·
0 点赞 ·
0 评论

SOLID:面向对象设计的五个基本原则

在程序设计领域,SOLID 是由罗伯特·C·马丁在 21 世纪早期引入的记忆术首字母缩略字,指代了面向对象编程和面向对象设计的五个基本原则。当这些原则被一起应用时,能够使得一个程序员开发一个容易进行维护和扩展的系统变得更加可能。SOLID 是以下五个单词的缩写: Single Responsibility Principle(单一职责原则) Open Closed Principle(开闭原则) Liskov SubstitutionPrinciple(里氏替换原则) ..
转载
发布博客 2021.03.23 ·
106 阅读 ·
0 点赞 ·
0 评论

30 道 Vue 面试题,内含详细讲解

copy from : https://github.com/fengshi123/blog/issues/141、说说你对 SPA 单页面的理解,它的优缺点分别是什么?SPA( single-page application )仅在 Web 页面初始化时加载相应的 HTML、JavaScript 和 CSS。一旦页面加载完成,SPA 不会因为用户的操作而进行页面的重新加载或跳转;取而代之的是利用路由机制实现 HTML 内容的变换,UI 与用户的交互,避免页面的重新加载。优点:用..
转载
发布博客 2021.03.23 ·
248 阅读 ·
0 点赞 ·
0 评论

Vue 项目性能优化 — 实践指南(网上最全)

copy from : https://github.com/fengshi123/blog/issues/13Vue 框架通过数据双向绑定和虚拟 DOM 技术,帮我们处理了前端开发中最脏最累的 DOM 操作部分, 我们不再需要去考虑如何操作 DOM 以及如何最高效地操作 DOM;但 Vue 项目中仍然存在项目首屏优化、Webpack 编译配置优化等问题,所以我们仍然需要去关注 Vue 项目性能方面的优化,使项目具有更高效的性能、更好的用户体验。本文是作者通过实际项目的优化实践进行总结而来,希望读者读完
转载
发布博客 2021.03.23 ·
87 阅读 ·
0 点赞 ·
0 评论

Redisson

Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。其中包括(BitSet,Set,Multimap,SortedSet,Map,List,Queue,BlockingQueue,Deque,BlockingDeque,Semaphore,Lock,AtomicLong,CountDownLatch,Publish / Subscribe,Bloo...
原创
发布博客 2021.03.17 ·
89 阅读 ·
0 点赞 ·
0 评论

雪花算法的原理和 Java 实现

SnowFlake 算法,是 Twitter 开源的分布式ID生成算法。其核心思想就是:使用一个 64 bit 的 long 型的数字作为全局唯一ID。在分布式系统中的应用十分广泛,且 ID 引入了时间戳,基本上保持自增的,后面的代码中有详细的注解。这 64 个 bit 中,其中 1 个 bit 是不用的,然后用其中的 41 bit 作为毫秒数,用 10 bit 作为工作机器ID,12 bit 作为序列号。给大家举个例子吧,比如下面那个 64 bit 的 long 型数...
转载
发布博客 2021.02.02 ·
185 阅读 ·
0 点赞 ·
0 评论

Spring Boot 解决跨域问题的 3 种方案

前后端分离大势所趋,跨域问题更是老生常谈,随便用标题去google或百度一下,能搜出一大片解决方案,那么为啥又要写一遍呢,不急往下看。问题背景:Same Origin Policy,译为“同源策略”。它是对于客户端脚本(尤其是JavaScript)的重要安全度量标准,其目的在于防止某个文档或者脚本从多个不同“origin”(源)装载。它认为自任何站点装载的信赖内容是不安全的。当被浏览器半信半疑的脚本运行在沙箱时,它们应该只被允许访问来自同一站点的资源,而不是那些来自其它站点可能怀有恶意的.
转载
发布博客 2021.02.02 ·
100 阅读 ·
0 点赞 ·
0 评论
加载更多