songfei_dream的专栏

私信 关注
雨落无影
码龄8年

www.jiweichengzhu.com

  • 417,717
    被访问量
  • 170
    原创文章
  • 10,691
    作者排名
  • 326
    粉丝数量
  • 于 2013-03-20 加入CSDN
获得成就
  • 获得354次点赞
  • 内容获得87次评论
  • 获得1,678次收藏
荣誉勋章
TA的专栏
  • 后端
    3篇
  • 前端
    2篇
  • java开发
    11篇
  • idea
  • 框架
    2篇
  • spring
    5篇
  • struts
    4篇
  • hibernate
    2篇
  • ibatis
    1篇
  • mybatis
    2篇
  • springmvc
    1篇
  • jrebel
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

淘客返利机器人,淘宝,拼多多,京东三合一查券返利机器人搭建教程

淘客返利机器人,淘宝,拼多多,京东三合一查券返利机器人搭建教程一、淘宝联盟官方淘宝客私域渠道ID申请1、登陆淘宝联盟用需要开通淘宝联盟的手机淘宝扫码授权登陆联盟地址:https://www.alimama.com2、填写《私域用户管理功能》申请表(可略过)地址:https://survey.taobao.com/apps/zhiliao/0JpI9eizU淘客注意了,现在代理模式必须申请渠道ID对接,不然没法统计代理订单,推广位超过200就不能新增。申请方法打开申请地址(微信不能直接
转载
932阅读
4评论
3点赞
发布博客于 6 月前

用java调用个人微信的API接口收发消息

java调用个人微信的API接口收发消息/*** 接受微信好友发来聊天消息* @author wechatno:tangjinjinwx* @param ctx* @param vo*/@Asyncpublic void handleMsg(ChannelHandlerContext ctx, TransportMessage vo) {try {FriendTalkNoticeMessage req = vo.getContent().unpack(FriendTalkNoticeM
原创
463阅读
0评论
0点赞
发布博客于 6 月前

淘宝自动查券找券返利机器人实现方法分享

淘宝自动查券找券返利机器人实现方法分享一、淘客CMS网站全面打通PC和手机端,只需简单部署一下,就可以拥有属于自己的优惠券cms淘客网站,查券返利轻松搞定 不依赖第三方,完全淘宝联盟官方返利项目地址:https://gitee.com/tangjinjinwx/taokecms二、微信公众号查券返利机器人普通淘客只需注册一个订阅号,简单配置一下,即可轻松拥有一个属于自己的查券返利机器人公众号 高级淘客可自己独立部署公众号查券返利系统,可服务无数淘客机器人公众号 不依赖第三方,完全淘宝联盟官方返利
转载
1184阅读
0评论
0点赞
发布博客于 6 月前

用微信公众号做淘宝优惠券查券和返利机器人的详细配置教程

用微信公众号做淘宝优惠券查券和返利机器人的详细配置教程;微信公众号淘宝客机器人,微信公众号淘客系统自助搭建教程一、淘宝联盟官方淘宝客私域渠道ID申请1、登陆淘宝联盟用需要开通淘宝联盟的手机淘宝扫码授权登陆联盟地址:https://www.alimama.com2、填写《私域用户管理功能》申请表(可略过)地址:https://survey.taobao.com/apps/zhiliao/0JpI9eizU淘客注意了,现在代理模式必须申请渠道ID对接,不然没法统计代理订单,推广位超过200就
转载
989阅读
0评论
0点赞
发布博客于 6 月前

wangeditor3集成highlightJs实现代码高亮

wangeditor3.x版本开始,不再支持highlight.js语法高亮,作者将语言选择的下拉选择给去掉了,不过在GitHub上给出了实现思路,我参照他的思路实现了此功能,大家如果不愿意动手,或者前端基础薄弱的,可直接下载我这个,亲测可用!
zip
发布资源于 6 月前

低版本idea中SpringBoot项目启动失败,提示找不到 javax/servlet/ServletContext类

今天新入职的小伙伴找我帮他看个问题,同样的springboot工程,同样都是用idea,在我们的电脑上启动正常,但是在他的电脑上就是不行,直接报错:java.lang.NoClassDefFoundError: javax/servlet/ServletContext,开始以为是没编译好,但是重新编译之后依旧不行。详细错误信息如下: . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \( ( )\
原创
607阅读
0评论
0点赞
发布博客于 6 月前

wangeditor3如何集成highlightJs实现代码高亮?

最近在整改个人博客的过程中,想顺手将以前使用的一个富文本编辑器wangEditor也升级一下,却碰到了一个非常操蛋的问题,在版本迭代到了3.x的时候(本文中使用的是3.1.1版本),作者将代码高亮功能取消了,实在是让人头大。我去他的GitHub上溜达了一圈,发现对于拿掉代码高亮这个功能,困惑的人还不少,作者也做了不少答复,总结下来有两个原因。一、个人精力有限二、受众群体主要不是程序员这种涉及到高亮的issue都是在2017年提出来的,都3年了,作者也还是一直没有抽出精力来优化,而在2018年的
原创
175阅读
1评论
0点赞
发布博客于 6 月前

函数的定义与调用

1、在kotlin中创建集合 kotlin没有自己专门的集合类,而是采用的java的集合类,不过书写方式不一样。 val set=hashSetOf(1,7,53) //对应hashsetval list=arrayListOf(1,7,53) //ArrayListval map=hashMapOf(1 to "one",7 to "seven",53 to "fifty-three...
原创
2234阅读
0评论
0点赞
发布博客于 1 年前

ThreadLocalRandom ---- Random在大并发环境下的替代者

本博客系列是学习并发编程过程中的记录总结。由于文章比较多,写的时间也比较散,所以我整理了个目录贴(传送门),方便查阅。 并发编程系列博客传送门 随机数 随机数在科学研究与工程实际中有着极其重要的应用! 简单来说,随机数就是一个数列,这个数列可能满足一定的概率分布,又获取其满足的分布并不为我们所知。 数学方法产生随机数应该称之为“伪随机数”,只有使用物理方法才能得到真正的随机数!因此我们使...
原创
2501阅读
0评论
0点赞
发布博客于 1 年前

【WPF学习】第三十五章 资源字典

  如果希望在多个项目之间共享资源,可创建资源字典。资源字典只是XAML文档,除了存储希望使用的资源外,不做其他任何事情。 一、创建资源字典   下面是一个资源字典示例,它包含一个资源: <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" ...
原创
2611阅读
0评论
0点赞
发布博客于 1 年前

BIO、NIO

1. BIO和NIO 我们平常使用的IO是BIO(Blocking-IO),即阻塞IO、而NIO(No-blocking-IO)则是非阻塞IO,二者有什么区别呢? 预先知识准备 同步:发起调用后,调用者一直处理任务至结束后才返回结果,期间不能执行其他任务 异步:发起调用后,调用者立即返回结果的标记(当结果出来后用回调等机制通知),期间可以执行其他任务 阻塞:发起请求后,发起者一直等...
原创
2724阅读
0评论
0点赞
发布博客于 1 年前

理解RabbitMQ中的AMQP-0-9-1模型

前提 之前有个打算在学习RabbitMQ之前,把AMQP详细阅读一次,挑出里面的重点内容。后来找了下RabbitMQ的官方文档,发现了有一篇文档专门介绍了RabbitMQ中实现的AMQP模型部分,于是直接基于此文档和个人理解写下这篇文章。 AMQP协议 AMQP全称是Advanced Message Queuing Protocol,它是一个(分布式)消息传递协议,使用和符合此协议的客户端能...
原创
3048阅读
0评论
0点赞
发布博客于 1 年前

前端性能优化之利用 Chrome Dev Tools 进行页面性能分析

背景 我们经常使用 Chrome Dev Tools 来开发调试,但是很少知道怎么利用它来分析页面性能,这篇文章,我将详细说明怎样利用 Chrome Dev Tools 进行页面性能分析及性能报告数据如何解读。 分析面板介绍 上图是 Chrome Dev Tools 的一个截图,其中,我认为能用于进行页面性能快速分析的主要是图中圈出来的几个模块功能,这里简单介绍一下: Network :...
原创
1456阅读
0评论
0点赞
发布博客于 1 年前

【Java并发基础】利用面向对象的思想写好并发程序

前言 下面简单总结学习Java并发的笔记,关于如何利用面向对象思想写好并发程序的建议。面向对象的思想和并发编程属于两个领域,但是在Java中这两个领域却可以融合到一起。在Java语言中,面向对象编程的思想能够让并发编程变得更加简单。下面将从封装共享变量、识别共享变量间的约束条件和制定并发访问策略三方面介绍如何使用面向对象思想去指导编写并发程序。 封装共享变量 在并发编程中,格外关心的一个重点...
原创
1100阅读
0评论
0点赞
发布博客于 1 年前

HanLP《自然语言处理入门》笔记--2.词典分词

笔记转载于GitHub项目:https://github.com/NLP-LOVE/Introduction-NLP 2. 词典分词 中文分词:指的是将一段文本拆分为一系列单词的过程,这些单词顺序拼接后等于原文本。 中文分词算法大致分为基于词典规则与基于机器学习这两大派。 2.1 什么是词 在基于词典的中文分词中,词的定义要现实得多:词典中的字符串就是词。 词的性质--齐夫定律:一...
原创
1039阅读
0评论
0点赞
发布博客于 1 年前

如何从Serilog请求日志记录中排除健康检查终结点

这是在ASP.NET Core 3.X中使用Serilog.AspNetCore系列文章的第四篇文章:。 第1部分-使用Serilog RequestLogging减少日志详细程度 第2部分-使用Serilog记录所选的终结点属性 第3部分-使用Serilog.AspNetCore记录MVC属性 第4部分-从Serilog请求日志记录中排除健康检查端点(本文) 作者:依乐祝 ...
转载
975阅读
0评论
0点赞
发布博客于 1 年前

WebAPI接口开发实践

背景 在团队两年多陆续负责了几个项目的开发上线已经代码的review,特别是对老项目的重构过程中,发现之前的API设计是没有任何规范和约定的,不同的开发同学有不同的习惯,因此需要一套规范去约定,现在分享一下我们目前试运行的一套规范,一起交流完善下。 WebAPI开发流程 第一步首先设计接口文档,公司内部有一套自研的多人协作文档系统,可以很好的做到这一步,并能很好的做好版本控制。如果公司内部没...
原创
1887阅读
0评论
0点赞
发布博客于 1 年前

我的领域驱动设计运用实例 - 领域啊领域

一、前言 断断续续的也有在闲余时间接触领域驱动设计的相关知识,因为目前在工作中更多的还只是一名 crud boy,因此目前也只是对其中的某些知识点有知晓,实际使用的比较少,仅此而已。因此,趁着这个春节假期,整理了一下自己的 github 帐号,同时结合自己定的学习计划以及自己的期望发展方向,决定从一个真实的案例来梳理领域驱动的相关知识。 本篇文章是开篇,因为领域驱动设计相关的知识真的不怎么好懂...
原创
1171阅读
0评论
0点赞
发布博客于 1 年前

浅海笔记——怎样正确沟通(一) 如何表达

一直以来你的沟通方式都是错的。难怪我很容易表述不清,或者在不同的意见上与人发生争执。 团队效率 = 团队能力总和 - 团队沟通能力 沟通,无论是在企业工作中,还是其它任何地方,都是一种非常重要的技能。当不会正确的沟通,那么沟通成本变大的同时,效率就将被压缩。因此团队领导者的工作,无论是计划管理,任务安排,还是流程梳理,其最终目的都是减少团队沟通成本,提高生产力。反之,当一个人学会正确有效的沟通,...
原创
1051阅读
0评论
0点赞
发布博客于 1 年前

Java Character类

Java Character类 转义序列 Character方法 Character类用于对单个字符进行操作。 Character类在对象中包装一个基本类型char的值。 char ch='a';char uniChar='\u039A';//Unicode字符表达形式char[] charArray={'a','b','c','d','e'};//字符数组...
原创
900阅读
0评论
0点赞
发布博客于 1 年前

pandas数据分析基础之时间序列

目录 一、时间序列是什么 二、时间序列的选取-时间字符串/at_time/between_time/asof 三、时间序列的生成-datetime/date_range(start,end,perios,freq) 四、时间序列的偏移量对照表-freq 五、时间序列的前移或后移-shift/通过Day或MonthEnd 五、时区处理-tz/...
原创
1291阅读
0评论
0点赞
发布博客于 1 年前

如何实现延迟队列

延迟队列的需求各位应该在日常开发的场景中经常碰到。比如: 用户登录之后5分钟给用户做分类推送; 用户多少天未登录给用户做召回推送; 定期检查用户当前退款账单是否被商家处理等等场景。 一般这种场景和定时任务还是有很大的区别,定时任务是你知道任务多久该跑一次或者什么时候只跑一次,这个时间是确定的。延迟队列是当某个事件发生的时候需要延迟多久触发配套事件,引子事件发生的时间不是固定的。 业界目前...
原创
917阅读
0评论
0点赞
发布博客于 1 年前

造轮子-toast组件的实现(下)

1.解决 toast 中传入 html 的问题,通过假的 slot 来实现 // plugins.jstoast.$slots.default = [message]// toast.vue <div v-html="$slots.default[0]"></div>// 使用created() { this.$toast('<p>我是<...
原创
808阅读
0评论
0点赞
发布博客于 1 年前

计算广告丨《互联网广告算法和系统实践》读书笔记

引言 这是我阅读《互联网广告算法和系统实践》的笔记,作者王勇睿,在百度阅读上可以购买,书的篇幅很短,一天就能看完。 本书主要介绍了搜索广告算法、非搜索(定向)广告算法和实时竞价广告算法,为读者梳理了广告中的常用概念如CTR、ECPM,一个广告系统如何组成,实践中还会考虑什么问题,没有涉及多的数学和算法模型。本书适合入门,但作为小白,很多内容读完后没有具体的案例消化,理解深度上有所欠缺。我想当具...
原创
1457阅读
0评论
3点赞
发布博客于 1 年前

【5min+】帮我排个队,谢谢。await Task.Yield()

系列介绍 【五分钟的dotnet】是一个利用您的碎片化时间来学习和丰富.net知识的博文系列。它所包含了.net体系中可能会涉及到的方方面面,比如C#的小细节,AspnetCore,微服务中的.net知识等等。 5min+不是超过5分钟的意思,"+"是知识的增加。so,它是让您花费5分钟以下的时间来提升您的知识储备量。 正文 如果您现在正在使用.NetCore的话,相信您对await 和 a...
原创
886阅读
0评论
0点赞
发布博客于 1 年前

漫画 | 什么是散列表(哈希表)?

创建与输入数组相等长度的新数组,作为直接寻址表。两数之和的期望是Target,将Target依次减输入数组的元素,得到的值和直接寻址表比较,如果寻址表存在这个值则返回;如果不存在这个值则将输入数组中的元素插入寻址表,再进行输入数组中的下一个元素。 再进一步优化可以将输入数组直接作为直接寻址表,控制对应的下标就好,代码如下: Code:直接寻址表 class Solution { ...
原创
864阅读
0评论
0点赞
发布博客于 1 年前

替代 Hystrix,Spring Cloud Alibaba Sentinel 快速入门

提起 Spring Cloud 的限流降级组件,一般首先想到的是 Netflix 的 Hystrix。 不过就在2018年底,Netflix 宣布不再积极开发 Hystrix,该项目将处于维护模式。官方表示 1.5.18 版本的 Hystrix 已经足够稳定,可以满足 Netflix 现有应用的需求,所以接下来其会把焦点转向对于自适应的实现,更多关注对应用程序的实时性能做出响应。对于新应用的熔断...
原创
865阅读
0评论
0点赞
发布博客于 1 年前

Jenkins-k8s-helm-harbor-githab-mysql-nfs微服务发布平台实战

基于 K8S 构建 Jenkins 微服务发布平台 实现汇总: 发布流程设计讲解 准备基础环境 K8s环境(部署Ingress Controller,CoreDNS,Calico/Flannel) 部署代码版本仓库Gitlab 配置本地Git上传测试代码,创建项目到Gitlab 部署pinpoint 全链路监控系统(提前修改Dockerfile,打包镜像上传)...
原创
2636阅读
0评论
1点赞
发布博客于 1 年前

Kaggle竞赛丨入门手写数字识别之KNN、CNN、降维

引言 这段时间来,看了西瓜书、蓝皮书,各种机器学习算法都有所了解,但在实践方面却缺乏相应的锻炼。于是我决定通过Kaggle这个平台来提升一下自己的应用能力,培养自己的数据分析能力。 我个人的计划是先从简单的数据集入手如手写数字识别、泰坦尼克号、房价预测,这些目前已经有丰富且成熟的方案可以参考,之后关注未来就业的方向如计算广告、点击率预测,有合适的时机,再与小伙伴一同参加线上比赛。 数据集 ...
原创
5469阅读
1评论
3点赞
发布博客于 1 年前

JVM中的GC算法,JVM参数,垃圾收集器分类

一.在JVM中什么是垃圾?如何判断一个对象是否可被回收?哪些对象可以作为GC Roots的根   垃圾就是在内存中已经不再被使用到的空间就是垃圾.   1.引用计数法:     内部使用一个计数器,当有对象被引用+1,没有就-1,但是没有办法解决循环引用的问题,JVM不采用此类回收法   2.枚举根节点可达性分析(GC Root) 它必须是一组活跃的引用     思路:通过一系列名为GC...
原创
1258阅读
0评论
0点赞
发布博客于 1 年前

Java框架之Spring 02-AOP-动态代理-AspectJ-JdbcTemplate-事务

AOP 动态代理   代理设计模式的原理:使用一个代理将原本对象包装起来,然后用该代理对象”取代”原始对象。任何对原始对象的调用都要通过代理。代理对象决定是否以及何时将方法调用转到原始对象上。 代理模式的三要素: 代理主题接口 代理者 被代理者 代理模式的主要优点 代理模式在客户端与目标对象之间起到一个中介作用和保护目标对象的作用; 代理对象可以扩展目标对...
原创
1121阅读
0评论
0点赞
发布博客于 1 年前

Spark读写ES

本文主要介绍spark sql读写es、structured streaming写入es以及一些参数的配置 ES官方提供了对spark的支持,可以直接通过spark读写es,具体可以参考ES Spark Support文档(文末有地址)。 以下是pom依赖,具体版本可以根据自己的es和spark版本进行选择: <dependency> <groupId>...
原创
1123阅读
0评论
0点赞
发布博客于 1 年前

趣谈编程史第2期-这个世界缺少对C语言的敬畏,你不了解的C语言科普

这是我制作的编程语言科普系列视频的第二期,博客根据视频文案整理而成,提供给有需要的朋友阅读或使用. 视频地址: https://www.bilibili.com/video/av83627932/ 如果感兴趣观看视频,感谢博友. 在华夏文明的历史长卷中, 曾经有一段狼烟四起,群雄逐鹿的特殊历史时期 史称春秋战国 这段时期,诸侯...
原创
7076阅读
11评论
29点赞
发布博客于 1 年前

自动将本地文件保存到GitHub

前言 只有光头才能变强。 文本已收录至我的GitHub精选文章,欢迎Star:https://github.com/ZhongFuCheng3y/3y 这篇文章主要讲讲如何自动将本地文件保存到GitHub上 有人会好奇,为什么我要将本地文件保存到GitHub上呢?其实我的理由就只有一个:不知道为什么我的Typora有时候会出现无法响应的情况(直接卡死),这样可能会导致写...
原创
1141阅读
0评论
0点赞
发布博客于 1 年前

Ceph日常运维管理和排错 -- <7>

Ceph日常运维管理 集群监控管理 集群整体运行状态 [root@cephnode01 ~]# ceph -s cluster: id: 8230a918-a0de-4784-9ab8-cd2a2b8671d0 health: HEALTH_WARN application not enabled on 1 pool(s) servi...
原创
1985阅读
0评论
0点赞
发布博客于 1 年前

TypeScript 源码详细解读(1)总览

TypeScript 由微软在2012 年 10 月首发,经过几年的发展,已经成为国内外很多前端团队的首选编程语言。前端三大框架中的 Angular 和 Vue 3 也都改用了 TypeScript 开发。即使很多人没直接用过 TypeScript,他们也在通过 VSCode 提供的智能提示功能间接享受着 TypeScript 带来的各项便利。 很多人对 TypeScript 背后的原理很感...
原创
2042阅读
0评论
2点赞
发布博客于 1 年前

《提升能力,涨薪可待》—Java并发之Synchronized

Synchronized简介 线程安全是并发编程中的至关重要的,造成线程安全问题的主要原因: 临界资源, 存在共享数据 多线程共同操作共享数据 而Java关键字synchronized,为多线程场景下防止临界资源访问冲突提供支持, 可以保证在同一时刻,只有一个线程可以执行某个方法或某个代码块操作共享数据。 即当要执行代码使用synchronized关键字时,它将检查锁是否...
原创
1069阅读
0评论
0点赞
发布博客于 1 年前

关于Scrum+XP+DevOps的学习

最近听了ECUG大会上孙敬云老师的分享感觉受益匪浅,毕竟大学课本上只讲到瀑布模型就没有下文了,工作以后一直贯彻的都是Scrum路线,一直也没有时间好好的去学习整理这部分的知识,直到近几天听到了孙老师的分享,所以就在这里记录下孙老师的分享也总结我自己的思路。以下内容部分摘自于孙老师的分析PPT 1 软件工程之路 1.1 软件工程的演进 貌似大学的那门软件工程只给我们讲到了1980年,之后的需要...
原创
1151阅读
0评论
0点赞
发布博客于 1 年前

Android系统启动过程分析

Android系统启动过程分析 一、Android平台架构 首先贴一张Android系统架构图方便理解整个Android架构,这可以让我们从整体上对整个启动流程有个大概认知。 可以看出整个架构由5部分构成,从下到上分别为: 1. Linux内核层 Android 的核心系统服务基于Linux 内核,在此基础上添加了部分Android专用的驱动。系统的安全性、内存管理、进程管理、网络协议栈和...
原创
1396阅读
0评论
1点赞
发布博客于 1 年前

Magicodes.IE编写多框架版本支持和执行单元测试

背景 很多情况下,我们编写了一些工具库之后,往往在某些框架版本中会出现一些问题,比如本人最近写的一个导入导出的工具库Magicodes.IE(GitHub:https://github.com/xin-lai/Magicodes.IE)就出现了以下问题: 虽然支持标准库2.0,但是通过编写单元测试,确实发现如此: 因此,单元测试确实需要针对各个框架版本进行测...
原创
1223阅读
0评论
0点赞
发布博客于 1 年前

Go网络文件传输

流程分析 借助TCP完成文件的传输,基本思路如下: 发送方(客户端)向服务端发送文件名,服务端保存该文件名。 接收方(服务端)向客户端返回一个消息ok,确认文件名保存成功。 发送方(客户端)收到消息后,开始向服务端发送文件数据。 接收方(服务端)读取文件内容,写入到之前保存好的文件中。 由于文件传输需要稳定可靠的连接,所以采用TCP方式完成网络文件传输功能。 首先获取文件名。...
原创
1731阅读
0评论
1点赞
发布博客于 1 年前

【原创】够强!一行代码就修复了我提的Dubbo的Bug。

这是 why 技术的第 28 篇原创文章 之前在《Dubbo 一致性哈希负载均衡的源码和 Bug,了解一下?》中写到了我发现了一个 Dubbo 一致性哈希负载均衡算法的 Bug。 对于解决方案我是这样写的: 特别简单,把获取identityHashCode的方法从System.identityHashCode(invokers)修改为invokers.hashCode()即可。此方案是...
原创
1232阅读
0评论
1点赞
发布博客于 1 年前

Linux 学习笔记 5 文件的下载、压缩、解压、初步认识yum

写在前面 上节我们通过简单的几组命令,已经完全的实现了文件的移动、删除、更名、以及复制,我们最常用的基本玩法,本节将带着大家学习压缩、解压的相关步骤。 Linux 学习笔记 4 创建、复制、移动、文件的基本操作 压缩解压还是比较常见并且常用的,比如从Apache 这种开源网站下载比如Tomcat Maven 以及其他的软件的时候,下载下来的,一般都是以tar 结尾的压缩文件。如何解压 如何...
原创
2275阅读
3评论
8点赞
发布博客于 1 年前

机器学习(01)——机器学习简介

最近在研究机器学习,随手将学习的过程记录下来,方面自己的学习与回顾 1. 机器学习是什么? 机器学习(Machine Learning,ML)是专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能的一门科学技术。 它使用计算机技术,应用微积分、概率论、统计学、信息论、逼近论、凸分析、算法等多种不同的理论与学科,针对分析目标...
原创
3766阅读
2评论
6点赞
发布博客于 1 年前

分布式事务框架-seata初识

一、事务与分布式事务 事务,在数据库中指的是操作数据库的最小单位,往大了看,事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。 那为什么会有分布式事务呢?单机事务是通过将操作限制在一个会话内通过数据库本身的锁以及日志来实现ACID.因为引入了分布式架构,所以事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点...
原创
1302阅读
0评论
0点赞
发布博客于 1 年前

2020元旦献礼——从零开始开发一个操作系统

序言 在2019年的最后一天终于完成了整个系统的开发,并给它起名曰——Inios 。就如同文章名字一样,完全是从内核编写,非二次开发,从最初的“hello os”到初次有了系统的样子。主要用C语言编写,部分汇编语言。。整个操作系统完成后的大小为39.6 KB之所以这么小其实主要是语言的原因,另一个重要原因是在开发中对部分系统代码和字体库以及媒体的压缩。中间进行多次迭代,最终完成整个操作系统的开发...
原创
4511阅读
14评论
24点赞
发布博客于 1 年前

UNITY->(width*height)style Inventory

项目过后对项目功能进行记录,(width*height)风格背包实现细节,包含对物体的存放,装备,替换,对未知装备的鉴定,物体前缀的获取,项目类型为tcg+rpg,背包的作用主要为游戏中的物品的获取存放,卡牌的获取管理,对可叠加物品的存放,(width*height)的目的为对物品的存放管理,其效果如下 基础物品 (width*height)      物品的创建通过ScriptObjec...
原创
1313阅读
0评论
0点赞
发布博客于 1 年前

雪花算法 Snowflake & Sonyflake

唯一ID算法Snowflake相信大家都不墨生,他是Twitter公司提出来的算法。非常广泛的应用在各种业务系统里。也因为Snowflake的灵活性和缺点,对他的改造层出不穷,比百度的UidGenerator、美团的Leaf、索尼的Sonyflake等等。这篇帖子主要是讲一下原生的Snowflake算法、缺点及改造方案,并分析索尼的Sonyflake源码对原生Snowflake的改造, 原生Sn...
原创
1087阅读
0评论
1点赞
发布博客于 2 年前

MySQL性能优化:MySQL中的隐式转换造成的索引失效

数据库优化是一个任重而道远的任务,想要做优化必须深入理解数据库的各种特性。在开发过程中我们经常会遇到一些原因很简单但造成的后果却很严重的疑难杂症,这类问题往往还不容易定位,排查费时费力最后发现是一个很小的疏忽造成的,又或者是因为不了解某个技术特性产生的。 于数据库层面,最常见的恐怕就是索引失效了,且一开始因为数据量小还不易被发现。但随着业务的拓展数据量的提升,性能问题慢慢的就体现出来了,处理不及...
原创
1168阅读
0评论
0点赞
发布博客于 2 年前

研发环境容器化实施过程(docker + docker-compose + jenkins)

目录 背景介绍 改造思路 容器构建 基础准备 中间件容器 外部依赖容器 业务应用容器 容器整合 自动构建容器 Maven相关 非Maven项目 总结 背景介绍 目前公司内部系统(代号GMS)研发团队,项目整体微服务规模大概是4+9+3的规...
原创
960阅读
0评论
0点赞
发布博客于 2 年前

rabbitmq template发送的消息中,Date类型字段比当前时间晚了8小时

前言 前一阵开发过程遇到的问题,用的rabbitmq template发送消息,消息body里的时间是比当前时间少了8小时的,这种一看就是时区问题了。 就说说为什么出现吧。 之前的配置是这样的: @Bean public RabbitTemplate rabbitTemplate(ConnectionFactory connectionFactory) { Rabb...
原创
972阅读
0评论
0点赞
发布博客于 2 年前

【原】移动端vue页面点透事件 - 分析与解决

近期项目遇到了vue页面事件被带到下一个页面的问题,也就是我们常说的点透事件,主要表现在android机器上,花了不少时间折腾,简单做下总结~ vue页面之间的切换通过Vue Router的router.push方法 b.vue之前已经访问过,数据通过vuex管理,从a.vue进入到b.vue不再请求数据,直接拿到b.vue数据展示页面; a.vue页面上点击最底部的账单后,不到100...
原创
991阅读
0评论
0点赞
发布博客于 2 年前

HTTP超详细总结

HTTP协议概述 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。 HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。 HTTP协议的主要特点可概括如下:1.支持客户/服务器模式...
原创
10阅读
0评论
0点赞
发布博客于 2 年前

(Java多线程系列二)线程间同步

Java多线程间同步 1、什么是线程安全 通过一个案例了解线程安全 案例:需求现在有100张火车票,有两个窗口同时抢火车票,请使用多线程模拟抢票效果。 先来看一个线程不安全的例子 class SellTicketRunnable implements Runnable { public int count = 100; @Override...
原创
1103阅读
1评论
0点赞
发布博客于 2 年前

十分钟快速创建 Spring Cloud 项目

一般来说,Intelij IDEA 可以通过 Maven Archetype 来快速生成Maven项目,其实 IDEA 集成了 Spring 官方提供的 Spring Initializr,可以非常方便的创建 Maven 项目,而且能自动生成启动类和单元测试代码。 下面我们学习如何快速搭建一个 Spring Cloud 工程,示例使用 Spring Boot 2.2.2 版本,使用少量的代码,可...
原创
1288阅读
0评论
0点赞
发布博客于 2 年前

你想要的 HBase 原理都在这了

目录 一、 集群架构 集群角色 工作机制 二、存储机制 A. 存储模型 B. LSM 与 Compaction C. Region 分裂 D. 自动均衡 三、访问机制 四、 鉴权 五、 高可靠 1.集群高可靠 2. 隔离性 3. ...
原创
878阅读
0评论
0点赞
发布博客于 2 年前

简单使用一下IDEA 的HTTP Client

前言 只有光头才能变强。 文本已收录至我的GitHub精选文章,欢迎Star:https://github.com/ZhongFuCheng3y/3y 相信大家都用过POSTMAN吧,后端在开发的时候写完接口总得去自测调用一下,看符不符合自己的预期。 因为我们的接口可能会有很多参数或者我们的参数是json格式的(等等原因),直接用浏览器去请求不太方便,而且使用浏览器去...
原创
877阅读
1评论
0点赞
发布博客于 2 年前

JAVA 使用jgit管理git仓库

最近设计基于gitops新的CICD方案,需要通过java读写git仓库,这里简单记录下。 JGit是一款pure java的软件包,可以读写git仓库,下面介绍基本使用。 引入jgit maven引入: <!-- https://mvnrepository.com/artifact/org.eclipse.jgit/org.eclipse.jgit --> ...
转载
1168阅读
0评论
0点赞
发布博客于 2 年前

【集合系列】- 深入浅出分析 ArrayDeque

一、摘要 在 jdk1.5 中,新增了 Queue 接口,代表一种队列集合的实现,咱们继续来聊聊 java 集合体系中的 Queue 接口。 Queue 接口是由大名鼎鼎的 Doug Lea 创建,中文名为道格·利,关于这位大神,会在后期进行介绍,翻开 JDK1.8 源代码,可以将 Queue 接口旗下的实现类抽象成如下结构图: Queue 接口,主要实现类有:ArrayDequ...
原创
845阅读
0评论
0点赞
发布博客于 2 年前

浅谈Redis面试热点之工程架构篇[1]

前言 前面用两篇文章大致介绍了Redis热点面试中的底层实现相关的问题,感兴趣的可以回顾一下:【决战西二旗】|Redis面试热点之底层实现篇【决战西二旗】|Redis面试热点之底层实现篇(续) 接下来我们继续来一起研究下Redis工程架构相关的问题,这部分内容出现的概率相对大一些,因为并不是所有人都会去研究源码,如果面试一味问源码那么可能注定是一场尬聊。 面试时在不要求候选人对Redis非常...
原创
852阅读
0评论
0点赞
发布博客于 2 年前

Golang 在电商即时通讯服务建设中的实践

马蜂窝技术原创文章,更多干货请搜索公众号:mfwtech ​即时通讯(IM)功能对于电商平台来说非常重要,特别是旅游电商。 从商品复杂性来看,一个旅游商品可能会包括用户在未来一段时间的衣、食、住、行等方方面面;从消费金额来看,往往单次消费额度较大;对目的地的陌生、在行程中可能的问题,这些因素使用户在购买前、中、后都存在和商家沟通的强烈需求。可以说,一个好用的 IM 可以在一定程度上对...
原创
1061阅读
0评论
0点赞
发布博客于 2 年前

mysql存储引擎简介

mysql存储引擎简介 什么是存储引擎 mysql存储引擎是数据库如何存储数据、怎样建立索引以及如何查询更新数据等技术的实现方法,数据通过使用不同的技术存储在文件中,使用不同的存储机制、索引方式来提供不同的功能。在mysql这种关系型数据中心来说,数据是以表的方式来存储的,因此,简单点来说,存储引擎就是存储和操作此表的类型。 mysql中有多种存储引擎,使用命令:show engines...
原创
865阅读
0评论
0点赞
发布博客于 2 年前

(译)An introduction to Kubernetes

原文:https://www.jeremyjordan.me/kubernetes/(博客园团队推荐的) 这篇博客文章将对Kubernetes进行介绍,以便您了解该工具背后的动机,含义以及使用方式。在后续文章中,我将讨论如何使用更具体的(数据科学)示例来利用Kubernetes增强数据科学工作负载。但是,这有助于您首先了解基本原理-这是本文的重点。 先决条件:我将假设您熟悉Docker等容器...
原创
836阅读
0评论
0点赞
发布博客于 2 年前

Kubernetes v1.17 版本解读 | 云原生生态周报 Vol. 31

作者 | 徐迪、李传云、黄珂、汪萌海、张晓宇、何淋波 、陈有坤、李鹏审核 | 陈俊 上游重要进展 1. Kubernetes v1.17 版本发布 功能稳定性是第一要务。v1.17 包含22 个增强功能:14 个增强功能已逐渐稳定,4 个增强功能已进入 beta 版,4 个增强功能已进入 alpha 版本。 Major Theme 云提供商标签达到 GA 这个自 1.2 版本就引入的...
原创
834阅读
0评论
0点赞
发布博客于 2 年前

android 点击无效验证

背景 在写一个东西滑动删除列表的时候,出现了一个问题。我的需求是,左滑然后出现delete,然后点击delete,让该滑块消失。 我在点列表的第一行的时候,左滑,出现delete,点击删除,ok的,完美。然后我点击第三个,同样左滑出现delete,点击delete没有任何反应。 然后我再点击第一个,又可以删除。 模型如下: 子模型: ps: 黑色的是最外层,蓝色的是在黑块中,然后delet...
原创
846阅读
0评论
0点赞
发布博客于 2 年前

解密国内BAT等大厂前端技术体系-阿里篇(长文建议收藏)

进入2019年,大前端技术生态似乎进入到了一个相对稳定的环境,React在2013年发布至今已经6年时间了,Vue 1.0在2015年发布,至今也有4年时间了。 整个业界在前端框架不断迭代中,也寻找到了许多突破方向,例如跨平台中的RN、Flutter,服务端GraphQL、Serverless,前端和客户端的融合越来越紧密,前端在Node和Electron的加持下,也扩展了自己的版图到服...
原创
1108阅读
0评论
0点赞
发布博客于 2 年前

Java 从入门到进阶之路(十一)

之前的文章我们介绍了一下 Java 中的继承,接下来我们继续看一下 Java 中的继承。 在有些时候,我们通过类继承的方式可以获取父类的方法,但是有些时候父类为我们提供的方法并不完全符合我们的需求,这时候我们就要对类方法进行重写,如下: 1 public class HelloWorld { 2 public static void main(String[] args) {...
原创
822阅读
0评论
0点赞
发布博客于 2 年前

TestNG系列(二)TestNG注解

前言 TetsNG提供了很多注解,允许测试人员灵活地组织测试用例 一、@Test @Tets是TestNG的核心注解,被注解的方法,表示为一个测试方法。 description属性 @Test(description = "yuhao")public void case1(){ System.out.println("case1方法");} 在测试报告中体现出来 ...
原创
830阅读
0评论
0点赞
发布博客于 2 年前

Spring Securtiy 认证流程(源码分析)

当用 Spring Security 框架进行认证时,你可能会遇到这样的问题: 你输入的用户名或密码不管是空还是错误,它的错误信息都是Bad credentials。 那么如果你想根据不同的情况给出相应的错误提示该怎么办呢? 这个时候我们只有了解 Spring Securiy 认证的流程才能知道如何修改代码。 好啦,来看下面的例子,大部分人的 WebSecurityConfig 的 co...
原创
835阅读
0评论
0点赞
发布博客于 2 年前

伪共享 FalseSharing (CacheLine,MESI) 浅析以及解决方案

起因 在阅读百度的发号器uid-generator源码的过程中,发现了一段很奇怪的代码: /** * Represents a padded {@link AtomicLong} to prevent the FalseSharing problem<p> * * The CPU cache line commonly be 64 bytes, here is a...
原创
875阅读
0评论
0点赞
发布博客于 2 年前

Java 从入门到进阶之路(十)

之前的文章我们介绍了一下 Java 中的引用型数组类型,接下来我们再来看一下 Java 中的继承。 继承的概念 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。 在日常生活中,我们会养些猫和狗,从程序的角度讲猫和狗都属于对象,那么我们就可...
原创
855阅读
0评论
0点赞
发布博客于 2 年前

【决战西二旗】|理解Sort算法

前言 前面两篇文章介绍了快速排序的基础知识和优化方向,今天来看一下STL中的sort算法的底层实现和代码技巧。 众所周知STL是借助于模板化来支撑数据结构和算法的通用化,通用化对于C++使用者来说已经很惊喜了,但是如果你看看STL开发者强大的阵容就意识到STL给我们带来的惊喜绝不会止步于通用化,强悍的性能和效率是STL的更让人惊艳的地方。 STL极致表现的背后是大牛们炉火纯青的编程技艺和追求...
原创
825阅读
0评论
0点赞
发布博客于 2 年前

纵论WebAssembly,JS在性能逆境下召唤强援

webassembly的作用 webassembly是一种底层的二进制数据格式和一套可以操作这种数据的JS接口的统称。我们可以认为webassembly的范畴里包含两部分 wasm: 一种体积小、加载快并且可以在Web浏览器端运行的底层二进制数据格式,并且可以由C++等语言转化而来 webassembly的操作接口:例如WebAssembly.instantiate就可以将一...
原创
956阅读
0评论
0点赞
发布博客于 2 年前

在Spring Security框架下JWT的实现细节原理

一、回顾JWT的授权及鉴权流程 在笔者的上一篇文章中,已经为大家介绍了JWT以及其结构及使用方法。其授权与鉴权流程浓缩为以下两句话 授权:使用可信用户信息(用户名密码、短信登录)换取带有签名的JWT令牌 鉴权:解签JWT令牌,校验用户权限。具有某个接口访问权限,开放该接口访问。 二、Spring Security授权细节说明 我相信大家都能理解上面的授权与鉴权的整体流程,但是具体到使...
转载
894阅读
0评论
0点赞
发布博客于 2 年前

【笔记】vue+springboot前后端分离实现token登录验证和状态保存的简单实现方案

简单实现 token可用于登录验证和权限管理。 大致步骤分为: 前端登录,post用户名和密码到后端。 后端验证用户名和密码,若通过,生成一个token返回给前端。 前端拿到token用vuex和localStorage管理,登录成功进入首页。 之后前端每一次权限操作如跳转路由,都需要判断是否存在token,若不存在,跳转至登录页。 前端之后的每一个对后端的请求都要在请求头上带...
原创
5209阅读
2评论
3点赞
发布博客于 2 年前

PL真有意思(七):数据抽象和面向对象

前言 在之前的名字、作用域那篇提到模块类型,它使程序员可以从一个给定抽象出发,通过实例化产生多个实例;再后面是类,它使程序员可以定义一族相关的抽象。 在这一篇里,我们会来看一下面向对象程序设计及其三个基本概念、动态方法约束、多重继承等等 面向对象程序设计 随着软件变得越来越复杂,数据抽象已经变成了软件工程中最重要的部分。由模块和模块类型提供的这种抽象至少带来了如下三个好处: 它可以减少程...
原创
998阅读
0评论
0点赞
发布博客于 2 年前

如何打造一个语音聊天室

语音聊天室这个名词可能有点陌生,实际上相关的产品还是很多的,例如游戏里的开黑语音、在线课堂等。语音聊天室可以认为视频直播的前身,很多音视频平台的架构是从语音聊天室演进为视频直播室的。本文主要介绍语音聊天室的架构设计,后面的文章会逐步介绍从语音到视频的演进历程。 语音聊天室怎么实现呢?互联网产品设计万变不离其宗,一套QQ的架构设计可以走遍天下。QQ群聊是怎么实现的,那么把群聊中的文字消息换成语音数...
原创
840阅读
0评论
0点赞
发布博客于 2 年前

剖析nsq消息队列(四) 消息的负载处理

剖析nsq消息队列-目录 实际应用中,一部分服务集群可能会同时订阅同一个topic,并且处于同一个channel下。当nsqd有消息需要发送给订阅客户端去处理时,发给哪个客户端是需要考虑的,也就是我要说的消息的负载。 如果不考虑负载情况,把随机的把消息发送到某一个客服端去处理消息,如果机器的性能不同,可能发生的情况就是某一个或几个客户端处理速度慢,但还有大量新的消息需要处理,其他的客户端处于空闲...
原创
4027阅读
0评论
0点赞
发布博客于 2 年前

程序员需要了解的硬核知识之汇编语言(一)

之前的系列文章从 CPU 和内存方面简单介绍了一下汇编语言,但是还没有系统的了解一下汇编语言,汇编语言作为第二代计算机语言,会用一些容易理解和记忆的字母,单词来代替一个特定的指令,作为高级编程语言的基础,有必要系统的了解一下汇编语言,那么本篇文章希望大家跟我一起来了解一下汇编语言。 汇编语言和本地代码 我们在之前的文章中探讨过,计算机 CPU 只能运行本地代码(机器语言)程序,用 C 语言等高...
原创
10280阅读
0评论
0点赞
发布博客于 2 年前

[ch02-02] 非线性反向传播

系列博客,原文在笔者所维护的github上:https://aka.ms/beginnerAI, 点击star加星不要吝啬,星越多笔者越努力。 2.2 非线性反向传播 2.2.1 提出问题 在上面的线性例子中,我们可以发现,误差一次性地传递给了初始值w和b,即,只经过一步,直接修改w和b的值,就能做到误差校正。因为从它的计算图看,无论中间计算过程有多么复杂,它都是线性的,所以可以一次传到...
原创
5621阅读
2评论
4点赞
发布博客于 2 年前

大型科技团队的管理

介绍了高效科技组织的特点及管理经验,指出科技团队的定位和使命在于支持业务、赋能业务、最终引领业务,同时,还介绍了面向未来的科技组织的特点及对管理者提出的能力要求。 内容来源 | LeaTech全球CTO领导力峰会宜信公司CTO 高级副总裁向江旭分享《大型科技团队的管理》 主讲人 | 宜信公司CTO 高级副总裁向江旭 实录整理 | 宜信技术学院成芳 引言:11月16日,由51C...
原创
855阅读
0评论
0点赞
发布博客于 2 年前

高德服务单元化方案和架构实践

导读:本文主要介绍了高德在服务单元化建设方面的一些实践经验,服务单元化建设面临很多共性问题,如请求路由、单元封闭、数据同步,有的有成熟方案可以借鉴和使用,但不同公司的业务不尽相同,要尽可能的结合业务特点,做相应的设计和处理。 一、为什么要做单元化 单机房资源瓶颈 随着业务体量和服务用户群体的增长,单机房或同城双机房无法支持服务的持续扩容。 服务异地容灾 异地容灾已经成为核心服务的标配,有...
原创
797阅读
0评论
0点赞
发布博客于 2 年前

Freemarker + xml 实现Java导出word

前言 最近做了一个调查问卷导出的功能,需求是将维护的题目,答案,导出成word,参考了几种方案之后,选择功能强大的freemarker+固定格式之后的wordxml实现导出功能。导出word的代码是可以直接复用的,于是在此贴出,并进行总结,方便大家拿走。 实现过程概览 先在word上,调整好自己想要的样子。然后存为xml文件。保存为freemarker模板,以ftl后缀结尾。将需要替换的变量...
原创
836阅读
0评论
0点赞
发布博客于 2 年前

Vue项目使用CSS变量实现主题化

主题化管理经常能在网站上看到,一般的思路都是将主题相关的CSS样式独立出来,在用户选择主题的时候加载相应的CSS样式文件。现在大部分浏览器都能很好的兼容CSS变量,主题化样式更容易管理了。最近,使用CSS变量在Vue项目中做了一个主题化实践,下面来看看整个过程。 Github项目地址演示地址 可行性测试 为了检验方法的可行性,在public文件夹下新建一个themes文件夹,并在themes...
原创
2118阅读
0评论
1点赞
发布博客于 2 年前

【Flume】Flume基础之安装与使用

1、Flume简介 ​ (1) Flume提供一个分布式的,可靠的,对大数据量的日志进行高效收集、聚集、移动的服务,Flume只能在Unix环境下运行。 ​ (2) Flume基于流式架构,容错性强,也很灵活简单。 ​ (3) Flume、Kafka用来实时进行数据收集,Spark、Flink用来实时处理数据,impala用来实时查询。 2、Flume角色 2.1 Source ​ ...
原创
1142阅读
1评论
2点赞
发布博客于 2 年前

[ch01-03]神经网络基本原理

系列博客,原文在笔者所维护的github上:https://aka.ms/beginnerAI, 点击star加星不要吝啬,星越多笔者越努力。 前言 For things I don't know how to build, I don't understand. 如果我不能亲手搭建起来一个东西,那么我就不能理解它。 -- 美国物理学家理查德·费曼 在互联网发达的今天,很多知识都可以从...
原创
1202阅读
0评论
2点赞
发布博客于 2 年前

系统分析师-软件水平考试(高级)-理论-系统规划

系统分析师-软件水平考试(高级)-理论-系统规划 前言 系统规划是什么东东呢? 通俗点说,就是为了实现企业的战略目标,分析企业现状(技术外部)与系统状况(技术内部),从而提出新的技术要求,对现有系统进行规划设计等变化。 目标是实现企业战略目标; 分析企业现状(了解情况了,才能下手呗。站在技术角度,企业现状就分技术和非技术); 根据掌握的资料,对接下来的系统开发做出规划(技术规划,那...
原创
861阅读
0评论
0点赞
发布博客于 2 年前

Vue躬行记(8)——Vue Router

  虽然Vue.js未提供路由功能,但是官方推出了Vue Router(即vue-router库),以插件的形式支持。它与Vue.js深度集成,可快速的创建单页应用(Single Page Application,SPA)。 一、基本用法   首先需要引入vue和vue-router两个库,如果像下面这样全局引用(即存在全局变量Vue),那么vue-router会自动调用Vue.use()方法...
原创
803阅读
0评论
0点赞
发布博客于 2 年前

深入理解java继承从“我爸是李刚”讲起

目录 1、继承的概述 2、关于继承之后的成员变量 3、关于继承之后的成员方法 4、关于继承之后的构造方法 5、关于继承的多态性支持的例子 6、super与this的用法 前言 本文主要多方面讲解java继承,旨在让初学者通俗易懂,至于“我爸是李刚”,反正楼主也不知道谁爸是李刚。 @ 1、继承的概述 1.1、继承的由来 至...
原创
786阅读
0评论
0点赞
发布博客于 2 年前

学习下ElasticSearch

ElasticSearch基础概念 Elasticsearch的Head插件安装 Elasticsearch在Centos 7上的安装常见的问题 使用场景:比如分库的情况下,你想统计所有数据的报表,就把所有数据都放在ElasticSearch上 关系型数据库 ElasticSearch 数据库Database 索引index,支持全文检索 表Table ...
原创
803阅读
0评论
0点赞
发布博客于 2 年前

Java描述设计模式(19):模板方法模式

本文源码:GitHub·点这里 || GitEE·点这里 一、生活场景 通常一款互联网应用的开发流程如下:业务需求,规划产品,程序开发,测试交付。现在基于模板方法模式进行该过程描述。 public class C01_InScene { public static void main(String[] args) { DevelopApp developApp = n...
原创
5253阅读
2评论
5点赞
发布博客于 2 年前

SpringBoot 源码解析 (一)----- SpringBoot核心原理入门

Spring Boot 概述 Build Anything with Spring Boot:Spring Boot is the starting point for building all Spring-based applications. Spring Boot is designed to get you up and running as quickly as possibl...
原创
1238阅读
2评论
0点赞
发布博客于 2 年前

操作系统——文件系统概述、文件逻辑地址、目录、物理地址

一、文件系统概述 软件资源管理信息长期保存的需要存储介质:磁盘、光盘、磁带…完成外存信息的管理和存取 在前面的学习中,我们知道文件也是一种系统资源。 这里先给出文件和文件系统的定义。 1、文件 外存中具有符号名的一组有逻辑意义的信息项的集合。 2、文件系统 指OS中管理文件的那一部分软件。它负责管理文件的存储、检索、更新,提供安全可靠的共享和保护手段,并为用户提供一整套...
原创
2041阅读
0评论
4点赞
发布博客于 2 年前

abp(net core)+easyui+efcore实现仓储管理系统——EasyUI之货物管理八(二十六)

abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+easyui+efcore实现仓储管理系统——解决方案介绍(二) abp(net core)+easyui+efcore实现仓储管理系统——领域层创建实体(三) abp(net core)+...
原创
795阅读
0评论
0点赞
发布博客于 2 年前

Flink中发送端反压以及Credit机制(源码分析)

上一篇《Flink接收端反压机制》说到因为Flink每个Task的接收端和发送端是共享一个bufferPool的,形成了天然的反压机制,当Task接收数据的时候,接收端会根据积压的数据量以及可用的buffer数量(可用的memorySegment数)来决定是否向上游发送Credit(简而言之就是当我还有空间的时候,我向上游也就是上一个Task的发送端发送一个ack消息,表明我还有空间你可以发送数据...
原创
795阅读
0评论
0点赞
发布博客于 2 年前

restapi(9)- caching, akka-http 缓存

restapi作为前后端交互的枢纽:面对大批量的前端请求,需要确保回复的及时性。使用缓存是一项有效工具。我们可以把多数前端请求的回复response存入缓存,特别是一些需要大量计算才能获取的回复值,更可以大大提高后端的反应速度。值得庆幸的是akka-http已经提供了对缓存的支持,是基于java8caffein的一套缓存操作工具包的。下面就介绍一下akka-http的caching。 akka...
原创
779阅读
0评论
0点赞
发布博客于 2 年前

【工利其器】必会工具之(八)PMD篇——代码分析工具基本使用

转载请申明,转载自【https://www.cnblogs.com/andy-songwei/p/11830812.html】,谢谢! 如今,使用代码分析工具来代替人工进行代码审查,已经是大势所趋了。用于Java代码检测的工具中,不乏许许多多的佼佼者,其中PMD就是其中一款。PMD既可以独立运行,也可以以命令行的形式运行,还可以作为插件在IDE中运行,本文将基于在An...
转载
805阅读
0评论
0点赞
发布博客于 2 年前

网络编程面试题

网络编程面试题 1、tcp和udp的区别 TCP---传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。 UDP---用户数据报协议...
转载
1042阅读
0评论
0点赞
发布博客于 2 年前

如何正确停止线程

1、原理介绍: 使用interrupt来通知,而不是强制。 在Java中,最好的停止线程的方式是使用中断 Interrupt,但是这仅仅是会通知到被终止的线程“你该停止运行了”,被终止的线程自身拥有决定权(决定是否、以及何时停止),这依赖于请求停止方和被停止方都遵守一种约定好的编码规范。 任务和线程的启动很容易。在大多数时候,我们都会让它们运行直到结東,或者让它们自行停止。然而有时候我们希望...
原创
945阅读
0评论
1点赞
发布博客于 2 年前

PyCharm的几个使用技巧

  PyCharm是个十分强大的Python编辑器,笔者在日常的工作中学到了很多该IDE的使用技巧,有的是从别人那里学到的,有的是自己学习的。笔者深感自己的开发能力不足,因此希望能够将这些使用技巧记录下来,同时也把这些使用技巧分享给读者,希望能对读者有所帮助。   以下将介绍几个简单的PyCharm使用技巧。以Mac系统中的PyCharm使用为例。 自定义文件头   在实际的代码编写中,我们需...
原创
7822阅读
7评论
31点赞
发布博客于 2 年前