Java旅途

其他

让jwt来保护你的接口服务

>往期精选:HTTP客户端连接,选择HttpClient还是OkHttp?当我搜索【牙签】,惊了!Sharding-Jdbc实现读写分离、分库分表强大的JVM监控工具!更多精彩,点击关注公众号
2021年7月28日
其他

HTTP客户端连接,选择HttpClient还是OkHttp?

大家好,我是大尧。为什么会写这篇文章,起因于和朋友的聊天这又触及到我的知识盲区了,首先来一波面向百度学习,直接根据关键字httpclient和okhttp的区别、性能比较进行搜索,没有找到想要的答案,于是就去overstackflow上看看是不是有人问过这个问题,果然不会让你失望的所以从使用、性能、超时配置方面进行比较使用HttpClient和OkHttp一般用于调用其它服务,一般服务暴露出来的接口都为http,http常用请求类型就为GET、PUT、POST和DELETE,因此主要介绍这些请求类型的调用HttpClient使用介绍使用HttpClient发送请求主要分为一下几步骤:创建
2021年7月26日
其他

当我搜索【牙签】,惊了!

提取出这些信息后,仅通过传统的关系型数据库和顺序搜索算法是无法满足毫秒级查询的。那不妨换个思路。既然用户都是根据关键词搜索,那如果事先知道这些关键词存在于哪些页面中,不就能直接找到了么?即对内容进行
2021年7月25日
其他

Sharding-Jdbc实现读写分离、分库分表

Point,将脏页刷新回磁盘2)binlog(归档日志)MySQL整体来看就有两块:一块是Server层,主要做的是MySQL功能层面的事情;还有一块是引擎层,负责存储相关的具体事宜。redo
2021年7月23日
其他

强大的JVM监控工具!

介绍在生产环境中,经常会遇到各种各样奇葩的性能问题,所以掌握最基本的JVM命令行监控工具还是很有必要的名称主要作用jps查看正在运行的Java进程jstack打印线程快照jmap导出堆内存映像文件jstat查看jvm统计信息jinfo实时查看和修改jvm配置参数jhat用于分析heapdump文件jps:查看正在运行的Java进程jps可以列出正在运行的Java进程,并显示虚拟机执行主类(Main
2021年7月21日
其他

神奇的 SQL 之 HAVING,一个容易被忽视的主角!

的,有兴趣的可以去翻阅《SQL进阶教程》聚合键条件的归属我们来看个有趣的东西,还是用表:tbl_student_class我们发现,聚合键所对应的条件既可以写在
2021年7月20日
其他

为什么 String 的 hashCode 方法选择数字31作为乘子

val[2]上面的公式包括公式的推导并不是本文的重点,大家了解了解即可。接下来来说说本文的重点,即选择31的理由。从网上的资料来看,一般有如下两个原因:第一,31是一个不大不小的质数,是作为
2021年7月16日
其他

内部群炸锅了,同事又删库了

事件起因我们的系统中有数据导入的功能,可以把特定的格式的excel数据导入到系统中来由于客户电脑的文件比较多,很多文件的名字也比较相近,客户在导入excel时选错了文件这个错误的excel文件的格式恰好能被系统解析,客户也没及时发现导错了文件,所以就将6万多条没用的数据导入到了系统中这6万多条数据对系统来说就是无用的数据,不会影响系统的运行,最多也就是占用一点数据库空间而已客户只需要把正确的excel重新导入,就可以继续完成他的业务了但是,客户是一个重度强迫症患者,他觉得在管理平台看到这6万多条没用的数据令他抓狂客户想要把这些数据删除,我们系统又没有提供批量删除功能,只能单个删除,这无疑是一个巨大的工作量客户就通过客服部门找到了研发团队,想让我们研发人员从数据库中直接删除删库经过虽然在生产环境直接操作数据库明显是违规操作,但客户的要求又不得不满足,谁让人家是爸爸呢金主爸爸由于生产环境的数据和表结构属于商业机密,我们讨论的重点也不在于数据和表结构,而是数据恢复的思路。所以我在测试环境新建了用户表,导入了一些测试数据,当作是生产环境进行操作研发人员登录生产数据库,执行如下sql,找到了这6万多条错误数据。select
2021年7月15日
其他

淘宝从几百到千万级并发的十四次架构演进之路,你学到了什么!

第一次演进:Tomcat与数据库分开部署Tomcat和数据库分别独占服务器资源,显著提高两者各自性能。“随着用户数的增长,并发读写数据库成为瓶颈”3.3
2021年7月14日
其他

如何保证token的安全

sign,服务端接收到请求后以同样的算法得到签名,并跟当前的签名进行比对,如果不一样,说明参数被更改过,直接返回错误标识。签名机制保证了数据不会被篡改。IP
2021年7月12日
其他

让你的代码减少90%,这些Java工具库太强大了!

字符串判空传参CharSequence类型是String、StringBuilder、StringBuffer的父类,都可以直接下面方法判空,以下是源码:public
2021年7月9日
其他

一款SQL检查审核神器!再也不担心写SQL出问题了

数据库。其提供二进制安装包,地址为https://github.com/cookieY/Yearning/releases,可以在
2021年7月8日
其他

Redis分布式锁到底安全吗?看完这篇文章彻底懂了!

Martin,是英国剑桥大学的一名分布式系统研究员。在此之前他曾是软件工程师和企业家,从事大规模数据基础设施相关的工作。它还经常在大会做演讲,写博客,写书,也是开源贡献者。他马上写了篇文章,质疑这个
2021年7月7日
自由知乎 自由微博
其他

Spring为什么建议构造器注入?

框架提供的注解,需要导入包org.springframework.beans.factory.annotation.Autowired。这里先给出一个示例代码,方便讲解说明:public
2021年7月5日
其他

牛逼哄哄的 BitMap,到底牛逼在哪?

节省存储空间)假设有这样一个需求:在20亿个随机整数中找出某个数m是否存在其中,并假设32位操作系统,4G内存在Java中,int占4字节,1字节=8位(1
2021年7月4日
其他

技术人员如何做晋升答辩

失败案例下面给出一些失败的案例PPT或者文档不能涵盖下个职级的关键能力要求列举的事项偏简单,没有难度只有技术亮点,但是没有业务价值缺乏思考只是按部就班被安排干只是作为一个次要参与者,没有挑大梁4.4
2021年7月3日
其他

GitHub 两万多 Star,无需编码,可一键生成前后端代码,这个开源项目有点强!

>往期精选:21届学弟的一年求职回顾,成功入职阿里推荐一款我一直在用的Redis可视化工具SpringBoot实现登录拦截器一毕业就进了外包,干了三年后发现啥都不是更多精彩,点击关注公众号
2021年7月2日
其他

21届学弟的一年求职回顾,成功入职阿里

年的时候基础版看过一遍。前阵子发现左神新课里顶着的新发型有点丑。。。我曾经可是他的颜粉啊,爷青结。。。。面经网上的各类面经已经堆积如山了,不想在这里贴太多基础面经,就分享一下最近让我印象比较深刻的
2021年6月30日
其他

推荐一款我一直在用的Redis可视化工具

>往期精选:SpringBoot实现登录拦截器一毕业就进了外包,干了三年后发现啥都不是36张图详解网络基础知识八年小厂技术leader面试大厂后端开发,凉了更多精彩,点击关注公众号
2021年6月29日
其他

SpringBoot实现登录拦截器

}}2、代码实现及示例代码实现如上所示。在登录成功之后,将user信息保存到session中,下一次登录时浏览器根据自己的SESSIONID就可以找到对应的session,就不要再次登录了,可以从
2021年6月28日
其他

一毕业就进了外包,干了三年后发现啥都不是

>往期精选:36张图详解网络基础知识八年小厂技术leader面试大厂后端开发,凉了『假如我是面试官』RabbitMQ我会这样问!美国一半程序员非科班出身,他们咋做到的更多精彩,点击关注公众号
2021年6月27日
其他

36张图详解网络基础知识

模型。主要设备及作用表通信介质与数据链路设备之间通过线缆进行连接。有线线缆有双绞线、光纤、串口线等。根据数据链路不同选择对应的线缆。传输介质还可以被分为电波、微波等不同类型的电磁波。传输速率:单位为
2021年6月25日
其他

八年小厂技术leader面试大厂后端开发,凉了

>往期精选:『假如我是面试官』RabbitMQ我会这样问!美国一半程序员非科班出身,他们咋做到的你管这破玩意儿叫TCP?卧槽,sql注入竟然把我们的系统搞挂了更多精彩,点击关注公众号
2021年6月23日
其他

『假如我是面试官』RabbitMQ我会这样问!

}}消息从交换机未能匹配到队列时将此条消息返回给生产者spring.rabbitmq.publisher-returns=true@RestControllerpublic
2021年6月21日
其他

美国一半程序员非科班出身,他们咋做到的

>往期精选:你管这破玩意儿叫TCP?卧槽,sql注入竟然把我们的系统搞挂了昨天晚上,收到了一封钓鱼邮件!比特币又爆仓了......更多精彩,点击关注公众号
2021年6月19日
其他

你管这破玩意儿叫TCP?

的到来,不断将左边界向右移动,直到窗口大小值收缩到新大小为止。OK,终于将流量控制问题解决得差不多了,你看着上面一个个小动图,给这个窗口起了一个更生动的名字,滑动窗口。拥塞问题但有的时候,不是
2021年6月18日
其他

卧槽,sql注入竟然把我们的系统搞挂了

table_schema='sue'#会返回数据库sue下面所有表名。建议在生成环境程序访问的数据库账号,要跟管理员账号分开,一定要控制权限,不能访问系统表。7.sql注入到底有哪些危害?1.
2021年6月17日
其他

昨天晚上,收到了一封钓鱼邮件!

大家好,我是大尧~一封钓鱼邮件昨天晚上,有读者在微信群反馈,收到了一个钓鱼邮件,让我帮忙看看:这封邮件主题是:院校通知内容是通知注射新冠疫苗,并附了一个链接。出于安全考虑,我在虚拟机中打开了这个链接,一个伪造QQ邮箱登陆的界面出现在我的面前:大家注意看地址栏的域名,并非腾讯QQ的官方域名,十足的钓鱼网站。我随意输入了一些信息提交后,再次提示需要提供手机号:好家伙,光钓到QQ密码还不够,还要你交出手机号。再次随意提交一个手机号后,跳转到了另外一个网站,全程跟新冠疫苗注射没有半毛钱关系。扒一扒接下来就来扒一扒背后的黑手!首先来看一下这个钓鱼链接:http://3ii.bar/8e89这是一个短链接,点开后,跳转后的链接:http://xq.18n30e.cn/lao/e1m6ai9lL8og4in7?username=kYE0QY请求时的服务器IP:85.8.182.75在网络空间搜索引擎Shodan上查一下这个IP地址的信息:Shodan显示,这台服务器上开放了80、3306、3389三个端口。80就是web服务,通过HTTP的响应字段来看,背后是一个Java
2021年6月15日
其他

比特币又爆仓了......

where,区别大了!软件公司与非软件公司的区别,太真实了更多精彩,点击关注公众号
2021年6月13日
其他

武汉有哪些牛逼的互联网公司

工作日晚上和周末是否加班根据部门而定,周末加班双倍工资4、工作地点武汉未来科技城,目前已自建办公园区基地,办公环境非常好。5、岗位投递/招聘要求应届生学校要求:少量211+985及以上
2021年6月10日
其他

如果让你来设计网络

开头的全部发送给到路由器,之后再怎么转发,交给它!",巧妙吧。那交给路由器之后,路由器又是怎么把数据包准确转发给指定设备的呢?别急我们慢慢来。我们先给上面的组网方式中的每一台设备,加上自己的
2021年6月9日
其他

SQL语句中 left join 后用 on 还是 where,区别大了!

条件的区别如下:on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left
2021年6月8日
其他

Redis 到底是怎么实现“附近的人”这个功能的呢?

bounds[3];//根据目标区域中心点纬度和半径,计算带查询的9个搜索框的geohash精度(位)//这里用到latitude主要是针对极地的情况对精度进行了一些调整(纬度越高,位数越小)
2021年6月8日
其他

软件公司与非软件公司的区别,太真实了

Id判断。结束。告一段落3.C项目(abc项目),更改一些逻辑问题,改了两个月顺利改完。等了三四个月后上线。4.D项目,一个新加模块。每个功能点需求一两句话。还有些隐藏需求点就是项目负责人告诉我
2021年6月6日
其他

Mysql批量插入时,如何不插入重复的数据

into当插入数据时,如出现错误时,如重复数据,将不返回错误,只以警告形式返回。所以使用ignore请确保语句本身没有问题,否则也会被忽略掉。例如:INSERT
2021年6月5日
其他

300 秒快速了解 Java 9 - 16 新特性

>往期精选:7年Java妹子的北漂史,一路北漂,一路辛酸判空我推荐用StringUtils.isBlankSpring中的@Transactional实现原理Spring
2021年6月4日
其他

看了华为鸿蒙发布会,泼盆冷水

超级终端,在统一的控制中心管理、连接和组合多个智能设备。其实,这个概念并不是第一次提出了,各种智能设备的连接配对和统一控制,专注智慧生活领域的小米公司也一直在做,而且处于领跑地位。不错,鸿蒙系统
2021年6月4日
其他

7年Java妹子的北漂史,一路北漂,一路辛酸

另外再举例子,如果是加好友功能,这种单用mysql,而且还弄出一个dbserver的服,什么都要写个异步的协议过去,那加好友原来是addFriend
2021年6月3日
其他

判空我推荐用StringUtils.isBlank

cs.length();}这个方法除了判断字符串是否为null和长度是否为零,还判断了是否为空格,如果是空格也返回true。测试效果public
2021年6月2日
其他

Spring中的@Transactional实现原理

targetClass)返回的是TransactionInterceptor,利用TransactionInterceptor是如何实现代理逻辑调用的?跟踪new
2021年6月1日
其他

Spring Boot项目打包成exe的踩坑日记!

VM然后一直下一步,最终出现如下界面这个时候你会发现桌面多了一个demo.exe文件,这个时候先别着急点开,接下来就是将jre和exe文件再打个包合并,达到在没有jdk电脑环境下也能运行。关注公众号
2021年5月31日
其他

成都有哪些牛逼的互联网公司

位于天府四街,目前还在不断发展中,主要负责的是抖音的核心业务,包括但不限于IM即时通讯、同城等等。成都现在整个团队还在成长中,坑位多,发展空间也比较大。主要的项目有:抖音、基础架构、People
2021年5月30日
其他

写作必备的Typora及Markdown语法介绍

从入门到入土你重写过hashcode和equals方法吗?在国企当程序员是一种怎么样的体验推荐几款比Notepad++还牛逼的编辑器更多精彩,点击关注公众号
2021年5月29日
其他

​MyBatis-plus 从入门到入土

users.forEach(System.out::println);}更新操作上面介绍的都是查询操作,现在来讲更新和删除操作。BaseMapper中提供了2个更新方法updateById(T
2021年5月28日
其他

你重写过hashcode和equals方法吗?

>往期精选:推荐几款比Notepad++还牛逼的编辑器深入理解Spring事务原理一二线城市有哪些值得加入的互联网公司更多精彩,点击关注公众号
2021年5月27日
其他

在国企当程序员是一种怎么样的体验

>往期精选:推荐几款比Notepad++还牛逼的编辑器深入理解Spring事务原理一二线城市有哪些值得加入的互联网公司更多精彩,点击关注公众号
2021年5月25日
其他

推荐几款比Notepad++还牛逼的编辑器

的特色功能:良好的扩展功能,官方称之为安装包(Package)。右边没有滚动条,取而代之的是代码缩略图,这个功能非常赞强大的快捷命令“可以实时搜索到相应的命令、选项、snippet
2021年5月22日
其他

深入理解Spring事务原理

来创建动态代理类;通过反射机制获得动态代理类的构造函数,其唯一参数类型是调用处理器接口类型;通过构造函数创建动态代理类实例,构造时调用处理器对象作为参数被传入。GCLIB代理cglib(Code
2021年5月20日
其他

一二线城市有哪些值得加入的互联网公司?

肥科大讯飞联发科艺龙完美世界新浪大智慧科大国创阿里巴巴思科新华三集团格灵深瞳腾讯寒武纪京东方华米科技zoom华为亚信合肥有中国科技大学,处在内陆的合肥,也需要更多的发展,寒武纪在合肥也有职位放出。<
2021年5月18日
其他

单点登录原理及简单实现

"success";}4、sso-server创建授权令牌授权令牌是一串随机字符,以什么样的方式生成都没有关系,只要不重复、不易伪造即可,下面是一个例子String
2021年5月15日