- 博客(612)
- 资源 (8)
- 问答 (1)
- 收藏
- 关注
转载 求求你们了,别再重复造轮子了,一个 Spring 注解轻松搞定循环重试功能!
目录前言@Retryable是什么?使用步骤总结前言在实际工作中,重处理是一个非常常见的场景,比如:发送消息失败。调用远程服务失败。争抢锁失败。这些错误可能是因为网络波动造成的,等待过后重处理就能成功。通常来说,会用try/catchwhile循环之类的语法来进行重处理,但是这样的做法缺乏统一性,并且不是很方便,要多写很多代码。然而却可以通过注解,在不入侵原有业务逻辑代码的方式下,优雅的实现重处理功能。spring系列的是另一个实用程序模块,可以帮助我们以标准方式处理任何特定操作的重试。
2023-07-17 08:27:44
248
转载 业务开发时,接口不能对外暴露怎么办?
在业务开发的时候,经常会遇到某一个接口不能对外暴露,只能内网服务间调用的实际需求。面对这样的情况,我们该如何实现呢?今天,我们就来理一理这个问题,从几个可行的方案中,挑选一个来实现。
2023-07-13 08:38:25
237
原创 面试官:为什么数据库连接池不采用 IO 多路复用?
这样,限制对DB的连接数,就是在限制对DB资源的消耗。历史上的 BIO + 连接池的做法经过多年的发展,已经解决了主要的问题。在 Java 的大环境下,这个方案是非常靠谱的,成熟的。当然,如果有特定的需要,希望使用 IO 多路复用管理 DB 连接,是完全可行的。相反,连接池的实现就相对独立的多,也简单的多。简单来讲,如果没有一个大的 Reactive 的运行环境,IO 多路复用的使用会非常受限。对于使用DB的程序来讲,不管使用多路复用,还是连接池,都要维护一组网络连接,支持并发的查询。为啥大家都用连接池?
2023-07-12 09:00:44
250
原创 SpringBoot 如何处理 CORS 跨域?
Springboot跨域问题,是当前主流web开发人员都绕不开的难题。但我们首先要明确以下几点浏览器出于安全的考虑,使用HTTP请求时必须遵守同源策略,否则就是跨域的HTTP请求,默认情况下是被禁止的。换句话说,浏览器安全的基石是同源策略。同源策略限制了从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这是一个用于隔离潜在恶意文件的重要安全机制。CORS是一个W3C标准,全称是”跨域资源共享”(),允许浏览器向跨源服务器,发出请求,从而克服了AJAX只能同源使用的限制。
2023-07-12 09:00:04
1074
3
转载 Java 8 的Stream流那么强大,你知道它的原理吗?
Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。本文会对Stream的实现原理进行剖析。
2023-05-24 08:47:51
168
原创 JRebel使用及用户名为中文的处理方案
1、将jreble配置文件,拷入非中文路径如:C:\Users\{中文名}\.jrebel 中的内容考入:D:\Program Files\JetBrains\IntelliJ IDEA 2017.1.3\config\plugins\jr-ide-idea\lib\jrebel62、修改idea配置idea64.exe.vmoptions怎加一行:-Drebel.base=...
2020-02-14 14:19:45
1352
原创 jmap -heap 命令结果分析
先用jps命令找到进程IDjmap -heap pidAttaching to process ID 3764, please wait...Debugger attached successfully.Server compiler detected.JVM version is 25.171-b11using thread-local object allo...
2019-12-09 08:42:31
813
转载 解读MySQL事务的隔离级别和日志登记模式选择技巧
MySQL的四种事务隔离级别:Read-uncommitted、Read-committed、Repeatable-read、 Seriailizable,相信大家都清楚各自异同。但是对于第二类、第三类隔离级别之间的性能区别和应用场景就会容易出现一些理解上的偏差,尤其是熟 悉Oracle的技术朋友,为此专门撰MySQL的四种事务隔离级别:Read-uncommitted、Read-co...
2019-11-22 15:26:42
455
原创 Linux(centos)设置静态IP地址(VMware VMnet8 模式共享主机网络配置静态 IP 和 DNS)
一、简介NAT网络模式:1. 宿主机可以看做一个路由器,虚拟机通过宿主机的网络来访问 Internet;2. 可以安装多台虚拟机,组成一个小型局域网,例如:搭建 hadoop 集群、分布式服务。二、配置1.VMnet8设置静态IP2. Centos网络设配器为NAT模式3.VMware虚拟网络设置4.启动虚拟机5.修改网络...
2019-11-08 09:26:45
1509
转载 MySQL 主主复制 高可用负载均衡集群
搭建环境:两台 CentOS 7.4(192.168.117.139、192.168.117.140)MySQL 5.7HAProxy 1.5.18Keepalived 1.3.5MySQL 安装 安装笔记参考MySQL Yum 存储库安装,此处不再浪费“墨水”。两台机器按照相同步骤安装完成即可。主主复制 什么叫主主复制?就是两个 MySQL 都能读能写...
2019-11-07 15:29:48
3727
原创 Mysql 集群和主从复制
一、简介1.1主从(Master-Slave)主从之间是通过mysql的replication来保证数据的一致性。相对mysql cluster的数据同步方式来讲是异步的。 Replication:主节点要开启binlog,设置一个唯一的服务器id(局域网内唯一);从节点设置服务器id,binlog记录了master上的所有操作,会被复制到从节点的relaylog并在从节点上回放。...
2019-11-07 15:25:05
1260
原创 MySQL研究之——锁(行锁、表锁、页锁、乐观锁、悲观锁等)
锁,在现实生活中是为我们想要隐藏于外界所使用的一种工具。在计算机中,是协调多个进程或县城并发访问某一资源的一种机制。在数据库当中,除了传统的计算资源(CPU、RAM、I/O等等)的争用之外,数据也是一种供许多用户共享访问的资源。如何保证数据并发访问的一致性、有效性,是所有数据库必须解决的一个问题,锁的冲突也是影响数据库并发访问性能的一个重要因素。从这一角度来说,锁对于数据库而言就显得尤为重要。...
2019-11-05 16:18:07
408
原创 程序员面试与职业发展
关注程序员面试 | 关注程序员职业发展我们是谁来自不同公司长期奋战在技术一线的程序员们,有架构师、有技术管理者、有hr等等我们的愿景让所有有志程序员的职业发展进入快车道,实现人生目标We Believe技术改变人生、技术改变世界、思维决定高度若非特殊情况,如学而优则仕一样,从程序员或者其他技术岗位转向管理岗位是一条必经的道路。但凡工作认真、技术扎实、有责任心...
2019-11-05 16:09:55
357
原创 MySQL 5.7 的另外一个坑
看看下面这个 SQL 语句:SELECT DISTINCT guid FROM table1 WHERE user=? ORDER BY id DESC这个 SQL 语句在 MySQL 5.6 以及之前的版本都可以正确执行。但是跑到 MySQL 5.7 上就报什么 ORDER BY 的字段不在 SELECT 的列表中的 SQL 异常。解决的办法是修改 MySQL 5.7 的 sql_...
2019-10-24 13:35:24
335
原创 8种常见的SQL错误用法
8种常见的SQL错误用法常见SQL错误用法1. LIMIT 语句分页查询是最常用的场景之一,但也通常也是最容易出问题的地方。比如对于下面简单的语句,一般DBA想到的办法是在type, name, create_time字段上加组合索引。这样条件排序都能有效的利用到索引,性能迅速提升。SELECT * FROM operation WHERE type = 'SQLSta...
2019-10-24 09:11:40
369
转载 面试官教你如何高效码简历
一、前言“为什么简历投出去总是石沉大海,没有回应?!”,无论你技术水平如何,如果你遇到了这类问题,那么这篇文章就是为你准备的。(3000余字,有点干慎入)很多人把简历石沉海底的原因归为技术不行,前公司背景不行,教育经历不行等等,但很少有人会去关注到可能是简历出了问题。当需要用到简历时,多数人可能会从网上直接下个模版,然后填填改改1小时不到就搞定了。笔者从业五年来见过各种形形色色的开发者,也...
2019-10-17 13:31:09
354
转载 Java后端面经总结:拿下蚂蚁金服美团头条 offer 秘诀
笔者在面过 猿辅导,去哪儿,旷视, 陌陌,头条, 阿里, 快手, 美团, 腾讯之后,除了收获一大堆面试问题,还思考到如何成为面试官眼中的”爱技术,爱思考,靠谱,有潜力候选人的”一些”套路”.面试问题(Java 后端)猿辅导1.八皇后问题2.求二叉树的最长距离(任意两个节点的路径 中最长的)3.lru 算法的实现4.设计一个数据结构 满足 put 和 getMedium(中位数)两...
2019-10-15 16:44:22
426
转载 CentOS 7 升级 Linux 内核
升级 CentOS 内核参考资料 1升级 CentOS 内核参考资料 2通过 /proc 虚拟文件系统读取或配置内核Linux 内核官网CentOS 官网1. 关于 Linux 内核Linux 内核分两种:官方内核(通常是内核开发人员用)和各大 Linux 发行版内核(一般用户常用)。1.1 官方内核在使用 Docker 时,发现其对 Linux 内核版本的最低...
2019-07-15 15:57:29
628
转载 一文看懂 MySQL事务隔离级别与锁
数据库锁共享锁(Shared lock)例1:----------------------------------------T1: select * from table (请想象它需要执行1个小时之久,后面的sql语句请都这么想象)T2: update table set column1='hello'过程:T1运行 (加共享锁)T2运行等待T1运行完之后再运...
2019-07-10 09:01:12
379
原创 AES实现加解密-Java
一.加解密算法生态圈目前的数据加密技术根据加密密钥类型可分私钥加密(对称加密)系统和公钥加密(非对称加密)系统。对称加密算法是较传统的加密体制,通信双方在加/解密过程中使用他们共享的单一密钥,鉴于其算法简单和加密速度快的优点,目前仍然是主流的密码体制之一。最常用的对称密码算法是数据加密标准(DES)算法,但是由于DES密钥长度较短,已经不适合当今分布式开放网络对数据加密安全性的要求。最...
2019-07-03 14:21:45
416
转载 Linux shell中2>&1的含义解释 (全网最全,看完就懂)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/zhaominpro/article/details/82630528A.首先了解下1和2在Linux中代表什么在Linux系统中0 1 2是一个文件描述符名称 代码 操作符 Java中表示 Linux 下文件描述符(Debian 为例) 标准输入(std...
2019-06-25 11:22:33
406
原创 Win10添加右键在此处打开命令行
效果 直接右键即可看到该选项,无需同时按住shift键。当然,按住右键也能显示,并且不影响右键打开powershell的功能。方法:一键自动导入设置。将以下内容保存成reg文件,如a.reg,双击该文件自动导入设置。Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\Directory\Ba...
2019-06-20 08:50:34
319
转载 ubuntu遇到了 dpkg was interrupted, you must manually run 'dpkg..的问题
最近,在ubuntu下安装应用程序的时候总是提示:[html]view plaincopydpkgwasinterrupted,youmustmanuallyrun'dpkg--configure-a'tocorrecttheproblem.E:_cache->open()failed,pleasereport.上网搜索了一下中文...
2019-06-18 10:40:52
3390
转载 Docker之几种storage-driver比较
Docker之几种storage driver比较Docker使用storage driver(存储驱动程序)来管理image和container的数据,不管是image的只读layer还是container的可写layer都基于这些storage driver的特点来设计实现。目前支持的storage driver有aufs、OverlayFS和Brtfs等。在满足版本约束的条件下,我们...
2019-05-19 15:15:04
7361
原创 EasyUI TextBox的onkeypress、keyup事件 、实时监控textbox事件
关于EasyUI TextBox的事件好像不多,像keypress,keydown在textbox的事件里都没有,所以要用这些事件要采取一些特殊的方法,今天用到了这些就记录一下,有两种方法方法1:var t = $('#txtPwd');t.textbox('textbox').bind('keypress', function (e) {if (e.keyCode == 13) {...
2019-05-08 09:52:59
1192
原创 如何用STAR法则来回答「宝洁八大问」
掌握宝洁八大问,其实就是掌握了半个求职季每年高峰期,很多同学会问到关于宝洁八大的问题,如何准备、怎么讲故事、如何体现自己的特点等等。针对同学们的提问,分享一篇关于如何回答好宝洁八大问的文章,希望能够帮到大家。什么是STAR法则?STAR法则是标准化面试当中非常重要的一个理论。所谓STAR法则,即Situation(情景)、Task(任务)、Action(行动)和Result(结果)...
2019-04-21 09:05:12
3785
原创 【算法面试】常见动态规划算法示例1-最长公共子串问题
【题 目 】给定两个字符串str1和 str2,返回两个字符串的最长公共子串。【举 例 】str1=”1AB2345CD”, str2=”12345EF”,返回”2345″。【要 求 】如 果 str1长 度 为 M , str2长 度 为 N , 实现时间复杂度为 O ( M x N ),额外空间复杂度为0(1)的方法。【难 度 】★ ★ ★ ☆解答经典动态规划的方法...
2019-03-28 14:16:11
570
原创 面试HashMap之追命5连问
1、HashMap底层实现数据结构?总的来说,HashMap就是数组+链表的组合实现,每个数组元素存储一个链表的头结点,本质上来说是哈希表“拉链法”的实现。HashMap的链表元素对应的是一个静态内部类Entry,Entry主要包含key,value,next三个元素在Jdk1.8中HashMap的实现方式做了一些改变,但是基本思想还是没有变得,只是在一些地方做了优...
2019-03-23 10:11:26
321
原创 Docker容器开机自动启动
部署项目服务器时,为了应对停电等情况影响正常web项目的访问,会把Docker容器设置为开机自动启动。 在使用docker run启动容器时,使用--restart参数来设置:#dockerrun-m512m--memory-swap1G-it-p58080:8080--restart=always--namebvrfis--volumes-...
2019-03-15 10:28:35
1387
1
原创 多线程面试题之原子性、可见性、有序性
面试官:“对java并发了解怎么样?” 应聘者:“还可以…” 面试官:“为了保证线程安全,Java并发有哪几个基本特性呢?” 应聘者:“有三条基本性质,原子性、可见性、有序性” 面试官: “具体解释下这三个特性?” 应聘者:“bala。bala。bala。。” Java内存模型是围绕着并发过程中如何处理原子性、可见性、有序性这三个特征来建立的,下面是这三个...
2019-02-14 14:22:24
452
原创 chrome 67版本后无法拖拽离线安装CRX格式插件的解决方法
第一种:开启开发者模式即可 (推荐)chrome 的设置 -> 更多工具 -> 扩展程序,开启开发者模式即可!这是最简单的方法,小编自己就是使用的这种方法!第二种方法:修改参数首先打开下面地址:chrome://flags/#extensions-on-chrome-urls将 disabled 改为 enable 重启即可第三种:修改文件格式,加...
2019-01-23 13:08:00
5113
原创 CentOS7下安装mysql5.7
1、安装YUM Repo由于CentOS 的yum源中没有mysql,需要到mysql的官网下载yum repo配置文件。wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm然后进行repo的安装:rpm -ivh mysql57-community-release-el7-9.noa...
2019-01-17 19:24:52
220
原创 wget 下载java1.8
For 64Bit使用wget下载wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/j...
2019-01-17 18:43:41
896
原创 Centos7.X通过rpm包安装Docker
目录 前言1、Docker官网下载rpm包2、通过liunx命令安装rpm包3、迁移镜像存储路径前言Docker已经火了很多年,现在各大公司都会使用它。那么在我们日常开发中也经常使用,比如我就通过Docker方便快捷在本地安装很多基础服务(Redis、Nginx、Mongodb、RabbitMQ、K8s)等方便学习和使用。今天记录下如何通过rpm在centos7.x系统...
2019-01-17 11:22:01
460
原创 easyUI datetimebox 自定义显示格式
项目里需要显示自定义显示格式,比如只显示yyy,yyyy-mm,yyyy-mm-dd等格式。直接设置formatter参数的话,总是报错。用firefox调试后发现,好像在设置新的日期时datetimebox控件会调用默认的parser指定的函数,把字符串转为日期格式。由于默认的只认"yyyy-MM-dd hh:mm:ss"格式(可以是其它分隔符,并非一定要是'-'),所以如果formatte...
2019-01-16 16:09:54
2156
2
原创 同时使用有线网上内网、无线网上外网
方法一、利用有线访问局域网数据库等,用无线网络访问外网,这里提供一种方法可以实现,可编写bat文件,并在cmd中执行:route delete 0.0.0.0route add 0.0.0.0 mask 0.0.0.0 172.20.1.254route add 172.20.36.0 mask 255.255.255.0 172.20.36.254解释一下:其中172.2...
2019-01-16 14:16:16
4846
原创 面试官:"谈谈分库分表吧?"
面试官:“有并发的经验没?” 应聘者:“有一点。” 面试官:“那你们为了处理并发,做了哪些优化?” 应聘者:“前后端分离啊,限流啊,分库分表啊。。” 面试官:"谈谈分库分表吧?" 应聘者:“bala。bala。bala。。” 1、分库分表的原因1、随着单库中的数据量越来越大,相应的,查询所需要的时间也越来越多,这个时候,相当于数据的处理遇到了瓶颈2、单库...
2019-01-11 16:42:04
6969
2
原创 Lodop属性和方法详解
例子:LODOP.PRINT_INIT("打印任务名");LODOP.SET_PRINT_COPIES(2);bdhtml=window.document.body.innerHTML;var hei = $('#div1').outerHeight();string = prnhtml;LODOP.SET_PRINT_PAGESIZE (3,'6cm','2cm',2);LODOP...
2019-01-10 16:02:40
1185
原创 Linux下用SCP无需输入密码传输文件
通常用scp命令通过ssh获取对方linux主机文件的时候都需要输入密码确认,不过通过建立信任关系,可以实现不输入密码。这里假设需要备份的服务器 S 的IP:192.168.0.1用作备份的服务器 B 的 IP:192.168.0.2需要从S免密码输入复制文件至B。1. 在服务器 S 上执行如下命令来生成配对密钥: ssh-keygen -t rsa 按照提示操作,注意,不要输...
2019-01-03 19:51:30
484
算法第四版-扫描版-Robert Sedgewick
2018-11-11
java与opencv结合,进行人脸检测
2015-01-05
java抓包需要的包
2014-12-30
java一个mina框架的传输对象的问题
2014-08-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人