图灵程序员
码龄4年
关注
提问 私信
  • 博客:88,254
    视频:2,550
    90,804
    总访问量
  • 106
    原创
  • 1,068,545
    排名
  • 99
    粉丝
  • 0
    铁粉

个人简介:爱编程,爱生活,爱分享

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:湖南省
  • 加入CSDN时间: 2020-07-20
博客简介:

weixin_49527334的博客

查看详细资料
个人成就
  • 获得234次点赞
  • 内容获得157次评论
  • 获得512次收藏
创作历程
  • 45篇
    2021年
  • 68篇
    2020年
成就勋章
TA的专栏
  • Java面试题
    40篇
创作活动更多

AI大模型如何赋能电商行业,引领变革?

如何使用AI技术实现购物推荐、会员分类、商品定价等方面的创新应用?如何运用AI技术提高电商平台的销售效率和用户体验呢?欢迎分享您的看法

175人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Redis中哈希分布不均匀该怎么办

前言Redis 是一个键值对数据库,其键是通过哈希进行存储的。整个 Redis 可以认为是一个外层哈希,之所以称为外层哈希,是因为 Redis 内部也提供了一种哈希类型,这个可以称之为内部哈希。当我们采用哈希对象进行数据存储时,对整个 Redis 而言,就经过了两层哈希存储。哈希对象哈希对象本身也是一个 key-value 存储结构,底层的存储结构也可以分为两种:ziplist(压缩列表) 和 hashtable(哈希表)。这两种存储结构也是通过编码来进行区分:hashtableRedis 中的
原创
发布博客 2021.04.12 ·
411 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

分布式架构——Gossip 协议详解

起源Gossip protocol 也叫 Epidemic Protocol (流行病协议)。Gossip protocol在1987年8月由施乐-帕洛阿尔托研究中心发表ACM上的论文《Epidemic Algorithms for Replicated Database Maintenance》中被提出。原本用于分布式数据库中节点同步数据使用,后被广泛用于数据库复制、信息扩散、集群成员身份确认、故障探测等。Gossip协议是基于六度分隔理论(Six Degrees of Separation)哲学
原创
发布博客 2021.04.09 ·
865 阅读 ·
1 点赞 ·
1 评论 ·
4 收藏

Spring Boot 项目如何做性能监控?

Spring Boot特别适合团队构建各种可快速迭代的微服务,同时为了减少程序本身监控系统的开发量,Spring Boot 提供了 actuator 模块,可以很方便的对你的 Spring Boot 程序做监控。1. actuator接口说明Spring Boot 应用中加入监控很简单,只需要在pom.xml文件中加入以下依赖:<dependency> <groupId>org.springframework.boot</groupId> <a
原创
发布博客 2021.04.07 ·
629 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

区块链编程七大语言,使用最多的竟是Java

区块链项目所用到的七大编程语言区块链开发是一个迅速壮大的产业,我们正在见证着这个行业的成长。虽然区块链技术还处于初期阶段,但是这项革命性的技术已经席卷全球,在最近几年经历了前所未见的蓬勃发展。目前许多资金充沛的项目都渴望搭建自己的区块链网络,并在网络上部署去中心化应用,但是有能力的区块链开发人员严重不足。区块链开发行业吸引到了数十亿美元的投资,各项目为了能吸引到市场上最好的区块链人才相互竞价,使得区块链开发人员的薪酬以及对相关人才的需求水涨船高。这股淘金热可能会让部分开发者好奇他们是否拥有进入这.
原创
发布博客 2021.04.06 ·
1366 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

面试:分布式系统接口,如何避免表单的重复提交?

关于怎么实现承载更多用户量的系统,一直是我重点关注的一个技术方向。改造架构提高承载力,通常来讲分为两个大方向,互相配合实现。硬件架构改进,主要是使用阿里云这种多组件的云环境:通过负载均衡SLB,模版克隆的云服务器ECS,云数据库RDS,共享对象存储OSS等不同职责的云产品组合实现。软件架构优化,主要是软件代码开发的规范:业务解耦合,架构微服务,单机无状态化,文件存储共享等在分布式系统的学习途中也不断见识新的知识点,今天要说的就是软件开发时候对于接口服务的“幂等性”实现!幂等性效果:系统对某接口的多
转载
发布博客 2021.04.01 ·
138 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java-TypeToken原理及泛型擦除

概要借助对TypeToken原理的分析,加强对泛型擦除的理解,使得我们能够知道什么时候,通过什么方式可以获取到泛型的类型。泛型擦除众所周知,Java的泛型只在编译时有效,到了运行时这个泛型类型就会被擦除掉,即List和List在运行时其实都是List类型。为什么选择这种实现机制?不擦除不行么?在Java诞生10年后,才想实现类似于C++模板的概念,即泛型。Java的类库是Java生态中非常宝贵的财富,必须保证向后兼容(即现有的代码和类文件依旧合法)和迁移兼容(泛化的代码和非泛化的代码可互相调用)基于
原创
发布博客 2021.03.30 ·
3579 阅读 ·
7 点赞 ·
1 评论 ·
13 收藏

JVM调优典型配置的5种方法!

常见配置汇总:1. 堆设置-Xms:初始堆大小-Xmx:最大堆大小-XX:NewSize=n:设置年轻代大小-XX:NewRatio=n:设置年轻代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4-XX:SurvivorRatio=n:年轻代中Eden区与两个Survivor区的比值。注意Survivor区有两个。如:3,表示Eden:Survivor=3:2,一个Survivor区占整个年轻代的1/5-XX:MaxPermSize=n:设置持久代大
原创
发布博客 2021.03.28 ·
307 阅读 ·
1 点赞 ·
1 评论 ·
1 收藏

【多线程】- 多个线程顺序打印ABC

题目:编写一个程序,开启3个线程,这3个线程的ID分别为A、B、C,每个线程将自己的ID在屏幕上打印10遍,要求输出结果必须按ABC的顺序显示;如:ABCABC….依次递推。这个题目主要考察用户的多线程相关的知识,共享变量/锁机制。解题思路:要按顺序输出ABC, 循环10次,就要控制三个线程同步工作,也就是说要让三个线程轮流输出,直到10个ABC全部输出则结束线程。这里用一个synchronized对象来控制三个线程的同步。用一个int型变量Num标识由那个线程输出。废话不说了,直接看代码就明白了
原创
发布博客 2021.03.26 ·
733 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java 虚拟机1:什么是 Java

前言让我们来看一下Java的广告词,来自http://www.java.com/zh_CN/about/:97%的企业桌面运行Java美国有89%的桌面(或计算机)运行Java全球有900万Java开发人员开发人员的头号选择排名第一的部署平台有30亿部移动电话运行Java100%的蓝光盘播放器附带了Java有50亿张Java卡在使用1.25亿台TV设备运行Java前5个原始设备制造商均提供了Java ME很牛逼不是吗?OK,这么牛逼的背后,我们Java开发人员有想过每天和我们朝夕
原创
发布博客 2021.03.21 ·
129 阅读 ·
1 点赞 ·
1 评论 ·
1 收藏

这可能是史上功能最全的Java权限认证框架!

今天给大家推荐的这个开源项目超级棒,可能是史上功能最全的 Java 权限认证框架!这个开源项目就是:sa-token 。更多大厂面试资料以及视频教程领取,可以点击直接进入,免费获取!暗号:CSDNSa-Token是什么?sa-token是一个轻量级Java权限认证框架,主要解决:登录认证、权限认证、Session会话、单点登录、OAuth2.0 等一系列权限相关问题框架针对踢人下线、自动续签、前后台分离、分布式会话……等常见业务进行N多适配,通过sa-token,你可以以一种极简的方式实现系
转载
发布博客 2021.03.18 ·
339 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【Java面试题】常见Java面试知识点总结

这里整理了部分较为重点的Java面试题内容,而且对于答案有困惑,补充了解释内容,便于理解。1. 什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?java虚拟机是执行字节码文件(.class)的虚拟机进程。。java源程序(.java)被编译器编译成字节码文件(.class)。然后字节码文件,将由java虚拟机,解释成机器码(不同平台的机器码不同)。利用机器码操作硬件和操作系统。因为不同的平台装有不同的JVM,它们能够将相同的.class文件,解释成不同平台所需要的机器码。正是因为有
原创
发布博客 2021.03.16 ·
366 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java架构师职位常见面试题,看完面试不再慌!(未完待续...)

一、架构师的日常职责是什么 ?总体而言,架构师负责软件领域的顶层设计。架构师需要根据公司的发展,规划企业未来若干年的架构,制定可落地的架构方案,解决技术难题,做技术选型与攻关,落地具体的架构。优秀的架构师既能做架构方案,也能写具体的架构代码。二、开发工程师和架构师有何区别?工作重点不同:架构师重点在于前期的架构规划,需要制定可落地的架构方案,结合公司的业务场景、团队的技术水平等因素做技术选型,解决技术难题等等;而开发工程师重点在于具体的落地,特别的, 开发工程师的工作重点落地具体的功能。能力要求不同
原创
发布博客 2021.03.15 ·
711 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java架构师必看 | 应用架构设计原则

软件系统架构设计原则就是把我们在各种场景下的架构设计进行抽选化提取公共特征形成过一定的方法论,这些方法论是经过严格推敲并具备移植性的,我们在设计系统时遵从这些设计规则可以为我们的体统提供更高的扩展性、稳定性。抽象原则各平台(含基础设施、中间件技术服务、各层业务服务等)需要通过合理地抽象,将内部信息、处理与扩展能力聚合成标准的服务于扩展接口,并通过统一的形式提供给使用者,屏蔽内部的实现与运行细节。以下是一些符合抽象原则的架构规范或模式: 架构分层(layer)/级(tier),层、级间提供标准服务与数.
原创
发布博客 2021.03.14 ·
992 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

面试中会遇到的 12 个 Java 冷知识,你懂多少?

通常,在面试中,会遇到面试官提一些比较“偏冷”的基础知识,比如基本数据类型所占用的字节数,或者Unicode和UTF-8的区别之类的问题,这时很多应聘者会答错。还有在平常编码的过程中,很多时候会用到除法计算,比如对一个长度为100万的List中的所有元素进行除16的操作,那么CPU对element<<4操作的运算会快于element/16的操作……因此,本文对一些容易被遗忘的基础知识进行归纳,希望可以帮助广大程序员轻松应对面试官的基础技术问题,以及提升编码效率。本文适合有一定Java基础的技术
原创
发布博客 2021.03.11 ·
149 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【面试必备】小伙伴栽在了JVM的内存分配策略。。。

周末有小伙伴留言说上周面试时被问到内存分配策略的问题,但回答的不够理想,小伙伴说之前看过这一块的文章的,当时看时很清楚,也知道各个策略是干嘛的,但面试时脑子里清楚,心里很明白,但嘴里就是说不清楚,说出来的就是像云像雾又像风,最后面试官说他应该是不清楚这一块的内容图片这里给小伙伴要再次说明下,任何知识点,先抓主干,再摸细节。对于面试来说,能把各个主干捋清楚,只要面试官要求不是太高,都是能过关的。毕竟jvm参数那么多,难不成面试官揪着各个参数的作用不放?如果真遇到这种太过揪细节的,只能说江湖路远,有缘再见!
原创
发布博客 2021.03.09 ·
101 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

java语言实现的WEB爬虫平台

概 述爬虫平台一个java语言实现的WEB爬虫平台,以图形化方式定义爬虫流程,无需代码即可实现一个爬虫。主要功能功能特性1、支持css选择器、正则提取2、支持JSON/XML格式3、支持Xpath/JsonPath提取4、支持多数据源、SQL select/insert/update/delete5、支持爬取JS动态渲染的页面6、支持代理7、支持二进制格式8、支持保存/读取文件(csv、xls、jpg等)9、常用字符串、日期、文件、加解密、随机等函数10、支持流程嵌套11、支持
原创
发布博客 2021.03.08 ·
558 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Tomcat是如何运行的?整体架构又是怎样的?

在许多的高端开发的岗位中都会或多或少有要求面试人员要研究过一些常用中间件源码。这是因为一切的秘密都是藏在源码中,阅读源码能够让我们对框架或者中间件的理解更加深刻,而我们也能够在源码的研究中获得其中一些优秀的设计方式。而我们的中间件和源码那么多,我们该从何入手呢?其实大部分的中间件或者框架都有一些共性的部分,例如网络编程、多线程、反射和类加载等技术。所以深入研究透了一两个中间价的话,那么再回过头来看其他的中间件,那么就会很容易理解它里面所用的技术以及原理。而作为一个老牌的WEB端框架Tomcat,无论是其整
原创
发布博客 2021.03.07 ·
196 阅读 ·
1 点赞 ·
1 评论 ·
2 收藏

JAVA编程环境配置介绍

一、JDK软件安装第一步,准备JDK开发工具包。这个工具包包含了JRE和开发工具,JRE是JAVA软件运行的环境,它包含了类库和虚拟机。如果大家没有安装包,可以到ORACLE的官网(https://www.oracle.com)免费下载,不过在下载时需要大家在官网中用邮箱免费注册一个账号。第二部,安装JDK应用程序。双击运行JDK应用程序,我们按照安装向导提示进行操作(JDK安装的时候,JRE也会一并安装),将JDK和JRE软件默认的安装路径更改为其他盘下的文件路径,如图所示:然后点击下一步进行安
原创
发布博客 2021.03.05 ·
287 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

面试官问:说说如何实现一个灰度发布系统?需要注意哪些方面?

互联网产品需要快速迭代开发上线,又要保证质量,保证刚上线的系统,一旦出现问题可以很快控制影响面,就需要设计一套灰度发布系统。灰度发布系统的作用,可以根据配置,将用户的流量导到新上线的系统上,来快速验证新的功能,而一旦出现问题,也可以马上的修复,简单的说,就是一套A/B Test系统。灰度发布允许带着bug上线,只要bug不是致命的,当然这个bug是不知道的情况下,如果知道就要很快的改掉(文章中有超级福利)分层架构模式简单灰度发布系统的设计灰度简单架构如上图所示,其中的必要组件如下:1、策略的
原创
发布博客 2021.03.04 ·
1902 阅读 ·
3 点赞 ·
1 评论 ·
3 收藏

程序员必知的几种软件架构模式

本文主要介绍了几种主要的软件架构模式。架构模式是对给定上下文的软件架构中常见问题的一种通用的可复用的解决方案。一种模式就是特定上下文的问题的一种解决方案。然而,很多开发者至今还对各种软件架构模式之间的差别搞不清,甚至对其所知甚少。大体上,主要有下面这几种架构模式:分层架构管道 - 过滤器架构客户端 - 服务器架构模型 - 视图 - 控制器架构事件驱动架构微服务架构(文章中有超级福利)分层架构模式最常见的架构模式就是分层架构或者称为 n 层架构。大部分软件架构师、设计师和开发者
原创
发布博客 2021.03.02 ·
403 阅读 ·
1 点赞 ·
1 评论 ·
1 收藏
加载更多