13 zl1zl2zl3

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 302

设计模式在工作中的实践

来源:https://www.cnblogs.com/chopper-poet/p/12626768.html大多数时候我都是写一些业务代码,可能一堆CRUD就能解决问题,但是这样的工作对技术人的提升并不多,如何让自己从业务中解脱出来找到写代码的乐趣呢,我做过一些尝试,使用设计模式改善自己的业务代码就是其中的一种。设计模式实践责任链设计模式责任链设计模式定义请求在一个链条上处理,链条上的受理者处理完毕之后决定是继续往后传递还是中断当前处理流程。适用场景适用于多节点的流程处理,.

2020-09-12 13:30:13

今天终于搞懂了:为什么 Java 的 main 方法必须是 public static void?

Main 方法是我们学习 Java 编程语言时知道的第一个方法,你是否曾经想过为什么 main 方法是 public、static、void 的。当然,很多人首先学的是 C 和 C++,但是在 Java 中 main 方法与前者有些细微的不同,它不会返回任何值,为什么 main 方式是 public、static、void,这篇文章尝试去找到一些答案。Main 方法是 Java 程序的入口,记住,我们这里不会讨论 Servlet、MIDlet 和其他任何容器管理的 java 程序,在 java 核心编程

2020-09-11 10:27:26

一个高效的定时任务系统

“今天想跟大家一起探讨一个听起来很简单的话题:定时任务机制。无非就是一个计时器,到了指定时间就开始跑呗。too young,要是这么简单我还说啥呢,干不就完了。那如果是几千上万个定时任务,你的计时器该如何设计呢?如果是 A 任务执行完后再执行 B 任务你会怎么调度呢?如果是几十台机器同时要处理一些任务,你又该如何设计呢?带着这些看似不简单的问题我们开始时间之旅。操作系统的时间系统应用程序部署在操作系统上,定时任务依赖操作系统的时钟。鉴于大部分的服务器都部...

2020-09-09 16:48:41

Spring Boot 无侵入式 实现 API 接口统一 JSON 格式返回

无侵入式 统一返回JSON格式其实本没有没打算写这篇博客的,但还是要写一下写这篇博客的起因是因为,现在呆着的这家公司居然没有统一的API返回格式?,询问主管他居然告诉我用HTTP状态码就够用了(fxxk),天哪HTTP状态码真的够用吗?在仔细的阅读了项目源码后发现,在API请求的是居然没有业务异常(黑人问好)。好吧 居然入坑了只能遵照项目风格了,懒得吐槽了。因为项目已经开发了半年多了, 要是全部接口都做修改工作量还是挺大的, 只能用这种无侵入式的方案来解决.“项目源代码: https://

2020-09-08 11:27:14

谈谈调研能力

旧文中其实提过很多次,调研能力一直是很重要的一种能力。那么新人入职,如果暂时没有什么任务安排,做调研肯定是没错的。当然,调研不止是新人的事情。其实很多创业公司的老板,都是随时随地在调研,比如有的人出去买个奶茶也会问问奶茶小哥或小妹,最近生意好不好做,点评的优惠券转化行不行,外卖比例是多少,哪家平台外卖的订单多。常见的调研分需求调研,竞品调研,技术调研。需求调研,最常见的是调查问卷,或者访谈,类似前面你买个奶茶搭个讪问几句话也是访谈的一种。那么除此之外,互联网也是很好的调研平台。1、搜索引

2020-09-07 11:19:25

为什么 RestTemplate 那么棒,看这篇就够了!

作者:duanxz来源:cnblogs.com/duanxz/p/3510622.html在微服务都是以HTTP接口的形式暴露自身服务的,因此在调用远程服务时就必须使用HTTP客户端。我们可以使用JDK原生的URLConnection、Apache的Http Client、Netty的异步HTTP Client, Spring的RestTemplate。但是,用起来最方便、最优雅的还是要属Feign了。这里介绍的是RestTemplate。什么是RestTemplate?RestTemp.

2020-09-07 09:58:35

鹅厂是如何使用 Git 的?看这!

今天跟大家分享一点鹅厂程序员的 Git 使用经验。介绍四种工作流来更好地理解 Git 的项目使用流程,利用其强大的分支功能为自己的项目构筑适配的工作流。1. 前言开发人员在日常开发过程中,不可避免地会使用到代码的版本控制工具,如 svn、git 等等,记得在刚刚入职的时候,部门使用的主要的 VCS 工具还是 svn,期间有着非常痛苦的 download 经历,下载一份仓库花了我 2-3 个小时,相比于 svn,git 有着非常多的优势,比如仓库 clone 速度非常快、核心的分支功能等等,后.

2020-09-07 09:56:05

从String中移除空白字符的多种方式!?差别竟然这么大!

字符串,是Java中最常用的一个数据类型了。我们在日常开发时候会经常使用字符串做很多的操作。比如字符串的拼接、截断、替换等。这一篇文章,我们介绍一个比较常见又容易被忽略的一个操作,那就是移除字符串中的空格。其实,在Java中从字符串中删除空格有很多不同的方法,如trim,replaceAll等。但是,在Java 11添加了一些新的功能,如strip、stripLeading、stripTrailing等。大多数时候,我们只是使用trim方法来删除多余的空格。但是好像很多人并没有去思考过,是否有更

2020-09-07 09:49:46

为啥不能用uuid做MySQL的主键!?

作者:Yrion地址:cnblogs.com/wyq178/p/12548864.html前言在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一,单机递增),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究竟有什么坏处?本篇博客我们就来分析这个问题,探讨一下内部的原因。本篇博客的目录 mysql程序实例 使用uuid和自增id的索引结构对比 .

2020-09-06 22:33:19

干货 | 携程数据库发布系统演进之路

天浩,携程数据库专家,专注数据库自动化运维研发工作。晓军,携程数据库专家,主要负责运维及分布式数据库研究。一、前言互联网软件本身具有快速迭代、持续交付等特点,加上数据库的表结构(DDL)发布无法做到灰度发布,且回退困难、试错成本高,一个稳定可靠的数据库发布系统对于互联网公司显得尤其重要。本文将介绍携程MySQL数据库发布系统从无到有,版本不断迭代的演进之路,希望对读者有所参考和帮助。我们先后设计了三个版本,最新的版本具有以下功能和特点: 发布期间只有一次表锁,锁定时间极短,锁定时间.

2020-09-04 14:19:09

为什么 Redis 要比 Memcached 更火?

作者:Kaito链接:kaito-kidd.com/2020/06/28/redis-vs-memcached/前言我们都知道,Redis和Memcached都是内存数据库,它们的访问速度非常之快。但我们在开发过程中,这两个内存数据库,我们到底要如何选择呢?它们的优劣都有哪些?为什么现在看Redis要比Memcached更火一些?这篇文章,我们就从各个方面来对比这两个内存数据库的差异,方便你在使用时,做出最符合业务需要的选择。要分析它们的区别,主要从以下几个方面对比: 线程模.

2020-09-04 09:14:53

糟糕!服务器被植入挖矿木马,CPU 飙升200%。。。

线上服务器用的是某讯云的,欢快的完美运行着Tomcat,MySQL,MongoDB,ActiveMQ等程序。突然一则噩耗从前线传来:网站不能访问了!此项目是我负责,我以150+的手速立即打开了服务器,看到Tomcat挂了,然后顺其自然的重启,启动过程中直接被killed,再试试数据库,同样没成功多次尝试甚至重启机器无果。机智的我打了个top,出现以下内容:这是谁运行的程序?不管三七二十一先杀掉再说,因为它就是Tomcat等程序启动不了的元凶。然而并没有什么卵用,过一会再看那个东西又跑出来

2020-09-04 09:12:38

它抢不走程序员的饭碗,但是会让一部分人瑟瑟发抖

每隔一段时间,IT领域都会出现一些能抓人眼球的东西,最近就有一个,叫GPT-3。这个AI产品刺激到了程序员,因为它展现出了不俗的编程能力:你说自然语言“从2020年起,有多少用户注册”,它可以给你写SQL:这不算什么,你还可以说自然语言,告诉它界面布局和行为:头部区域的文字是“Mood Tracker”, 然后是按钮“Happy”,“Sad',“Sleepy”,当我按其中一个按钮的时候,显示文本 “right row i am feeling x”它给你自动生成界面和背后的代码:

2020-09-04 09:09:17

开源如此火热,但研究表明该领域已不再增长

作者:白开水不加糖来源:https://www.oschina.net/news/118100/open-source-is-not-growing-anymore开源软件在软件业中发挥着重要作用。早期,开源代码行和项目数量曾经呈现出了一个多项式甚至指数式增长的趋势。然而,在资源有限的情况下,这种增长不可能无限持续。Blekinge 理工学院的 Michael Dorner 等人近期发布的一项报告指出,其研究结果表明:开源领域已不再增长。该团队研究了过去 25 年中出现的超 224,000 .

2020-09-04 09:07:41

谈谈验证能力

这其实是谈谈调研能力的姊妹篇,当时想写成一篇的,觉得太长了,算了,分成两篇写。调研是了解诉求,以及寻找可能的方案,而验证就是检验诉求及方案的可行性。那么也是分几种场景。包括前置验证和回溯验证。前置验证,就是在进行项目的研发和运营之前,进行小范围验证。回溯验证时在运营过程中对一些想法,一些判断进行验证。先说前置验证1、核心诉求验证。2、商业转化模型验证。3、技术验证。4、团队磨合验证。1、核心诉求验证典型如游戏的核心玩法,很多时候游戏只是做一个核心的打斗玩法场景..

2020-09-03 16:45:14

Redis 开发陷阱及避坑指南!

原文首发于博客园,作者:后青春期的Keats地址:https://www.cnblogs.com/keatsCoder/Linux 配置优化我们在使用Redis过程中,可能更多的关注Redis本身的一些配置优化,如 AOF、RDB 配置、数据结构配置优化等。但是很少关心Redis的载体,服务器的优化。而这往往为我们的项目运行带来灾难性的打击。因此服务器优化也是必不可少的。内存分配控制Redis启动时,可能会出现下面的日志#WARNINGovercommit...

2020-09-03 16:43:32

Redisson 是如何实现分布式锁的?

针对项目中使用的分布式锁进行简单的示例配置以及源码解析,并列举源码中使用到的一些基础知识点,但是没有对redisson中使用到的netty知识进行解析。本篇主要是对以下几个方面进行了探索 Maven配置 RedissonLock简单示例 源码中使用到的Redis命令 源码中使用到的lua脚本语义 源码分析 Maven配置<dependency><groupId>org.redisson</groupId&gt...

2020-09-03 16:41:33

面试官:说说 Java 中的 Unsafe 和 CAS

Unsafe简单讲一下这个类。Java无法直接访问底层操作系统,而是通过本地(native)方法来访问。不过尽管如此,JVM还是开了一个后门,JDK中有一个类Unsafe,它提供了硬件级别的原子操作。这个类尽管里面的方法都是public的,但是并没有办法使用它们,JDK API文档也没有提供任何关于这个类的方法的解释。总而言之,对于Unsafe类的使用都是受限制的,只有授信的代码才能获得该类的实例,当然JDK库里面的类是可以随意使用的。从第一行的描述可以了解到Unsafe提供了硬件级别的操作,比

2020-09-03 16:38:54

如果再写 for 循环,我就锤自己!

几种遍历方法中for执行最快,它没有任何额外的函数调用栈和上下文。但在实际开发中我们要结合语义话、可读性和程序性能,去选择究竟使用哪种方案。下面来看for,foreach,map,for...in,for...of五种方法现场battle。自我介绍for我是最早出现的一方遍历语句,在座的各位需称我一声爷爷。我能满足开发人员的绝大多数的需求。//遍历数组letarr=[1,2,3];for(leti=0;i<arr.length;i++){...

2020-09-03 16:37:23

美团(Leaf)分布式ID生成器,好用的一批!

来自公众号:程序员内点事不了解分布式ID的同学,先行去看《一口气说出 9种 分布式ID生成方式,面试官有点懵了》温习一下基础知识,这里就不再赘述了美团(Leaf)Leaf是美团推出的一个分布式ID生成服务,名字取自德国哲学家、数学家莱布尼茨的一句话:“There are no two identical leaves in the world.”(“世界上没有两片相同的树叶”),取个名字都这么有寓意,美团程序员牛掰啊!Leaf的优势:高可靠、低延迟、全局唯一等特点。目前主流的分布式I.

2020-09-03 13:32:10

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 阅读者勋章Lv1
    阅读者勋章Lv1
    授予在CSDN APP累计阅读博文达到3天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。