- 博客(1039)
- 资源 (3)
- 收藏
- 关注

转载 京东服务市场高并发下SOA服务化演进架构
作者简介研发老兵,热爱技术,喜欢挑战。熟悉各种开源框架,对大型分布式系统有丰富的架构、设计经验。性能卓越、设计优雅是其一生的追求。京东服务市场是京东商家与第三方独立软件提供商(ISV)进行服务类的在线交易平台。作为京东生态圈重要的一环,伴随着整个京东的快速增长,也在快速的发展。随着服务市场访问、交易量指数级的增长,系统由原来的ALL IN ONE架构,快速的演进成为SOA架构。木桶的容量由木桶最短的木板决定,高并发环境下,单个服务的性能决定了整个服务市场的性能。 “可用插件列表...
2020-08-02 22:06:14
592

原创 elasticsearch说了一些了,这次说说Solr【入门Solr这篇就够了】
在之前的博客中,我提到过ElasticSearch学习,请先看这一篇(win_Elasticsearch)并在空闲之余写了一篇关于反向索引和手写分词器,具体在搜索引擎——反向索引原理揭秘及手写ik分词器这篇博客中。但是es可谓是博大精深的,推荐博主铭毅天下,也是我关注的两个博主中的其中一位。对es有很深入的研究和理解。那么言归正传,本篇就说说Solr!或许你会想平时感觉听到的都是e...
2020-03-13 21:25:53
1112
原创 内部类不能被序列化的原因
内部类不能被序列化是因为内部类的实例化需要外部类的实例作为前提条件,而外部类的实例化又可能需要访问非序列化的成员变量或方法。因此,如果内部类实例被序列化,它的外部类状态可能会丢失或破坏,导致反序列化失败或产生错误的结果。此外,内部类可能包含对外部类实例的隐式引用,这会增加序列化和反序列化的复杂性和风险。如果内部类实例被序列化,它的外部类实例可能无法正确地反序列化,因为它依赖于非序列化的外部类状态。静态类可以被序列化,因为它们不包含对外部类实例的引用,并且可以独立于外部类进行序列化和反序列化。
2023-05-08 09:56:45
5416
原创 MAC_Excel针对时间维度汇总生成表格
我们先取出时间维度的一列,设置格式为:月维度(大家可根据自己的诉求)如下:然后执行以下操作即形成以下表格:全选表格内容,创建图表如下,选择不同的图表设计即可。其实写着一篇不单单是普及一个简单的图表小操作,主要是 在工作中,难免遇到一些提数的需求,如果我们单单把数据给到老板,和自己在自己思考的维度上加上一些图标设计,是完全不同的效果的。也希望大家能举一反三, 共勉之。...
2022-06-10 22:22:58
705
原创 Mac Outlook左侧文件夹不见了,怎么处理?
发现了一个超有用,超简单的方法,记录一下。把鼠标放到窗口最左侧,出现调整窗口大小的光标后,向右拉,文件夹栏就出现了
2022-05-09 09:50:36
3242
原创 SQL-分组后取每组最新的数据
先排序后分组: <select id="queryAllByApp" resultMap="BaseResultMap"> select * from ( select <include refid="Base_Column_List"/> from table_1 where app=#{app,jdbcType=VARCHAR} having 1 order by update_time desc ) as tablesam
2022-05-07 22:51:35
1770
原创 Since Maven 3.8.1 http repositories are blocked.
如果你是下载或者更新新版idea后,出现的该问题,或许是一样的原因。在于idea的最新maven3.8.3,不支持一些包导致的。使用3.6.x的maven包即可,即:
2022-04-21 14:11:26
18983
原创 Exception in thread “main“ java.lang.NoSuchMethodError: scala.collection.mut
scala版本不一致,采用maven中spark自带版本即可。
2022-02-15 17:38:10
1866
原创 Kafka Consumer 简易配置
@Bean(value = "kafkaConsumer", destroyMethod = "close")public KafkaConsumer<String, String> getKafkaConsumer() throws Exception { Properties properties = new Properties(); properties.putAll(xxx.getClientConfigs(kafkaClientId,kafkaUsername,kaf...
2021-04-29 11:05:39
2319
1
原创 接口返回时间较长,如何提高响应速度?
检查返回信息的报文较大,比如返回的若带有图片,请检查图片的尺寸。若尺寸过大会导致图片在网络传输过程中耗时较长,建议在不改变图片质量的情况下对图片进行等比例缩放。 检查网络带宽是否稳定,是否存在网络波动,建议提升网络带宽(扩容)避免网络时延较长。...
2021-04-05 23:11:14
2266
原创 Caused by: java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.INT
Caused by: java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.INT实体类 类型为Integer,但是配置xml使用了INT导致。修改为:jdbcType=INTEGER
2021-03-21 21:58:44
1532
1
原创 DDos是什么?
DDOS分布式拒绝服务(DDoS:Distributed Denial of Service)攻击,是指攻击者利用大量“肉鸡”对攻击目标发动大量的正常或非正常请求、耗尽目标主机资源或网络资源,从而使被攻击的主机不能为正常用户提供服务。DoS在介绍DDoS之前,需要先简单介绍一下什么是DoS。DoS(拒绝服务,Denial of Service)就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应。这是早期非常基本的网络攻击方式。举一个简单的例子,京东便利店,有三名服务员。然
2021-02-21 21:48:16
1986
原创 POP指什么?
POP指什么?Platform Open Plan翻译bai成中文就是平台开放计划。实质内容为第三方卖家借用京东平台来销售商品 ,跟淘宝开店一个意思。京东目前两种经营模式:1.自营:即京东自己采购自己销售,利润很可观。简单来说京东自营就是京东自己进货、销售、配送,POP的货基本上直接由第三方卖家发货。2.开放平台POP,即Platform Open Plan,POP平台下共分为四大模式——FBP/LBP/SOPL/SOP1、FBP(Fulfillment By POP):卖家在京东销售商品,京东提
2021-02-21 21:10:34
2056
原创 设置mac的全局命令
1、打开终端,输入cd ~2、sudo vim .bash_profile 注:需要输入密码3、文档底部输入:export PATH=${PATH}:/usr/local/mysql-8.0.23-macos10.15-x86_64/binexport PATH=${PATH}:/usr/local/redis-6.0.10/bin然后esc退出,并在下方输入:wq保存退出4、source .bash_profile 回车执行,运行环境变量5、再输入mysql -u root -
2021-02-19 19:57:08
2816
原创 关于本机IP的获取(附带Demo)
文章目录关于本机IP的获取一、IP是什么二、本机IP如何获取1.cmd命令(不用多说吧)2.网址ip138.com3.那我们代码中如何传递IP呢?关于本机IP的获取提示:以下是本篇文章正文内容,下面案例可供参考一、IP是什么IP是Internet Protocol(网际互连协议)的缩写,是TCP/IP体系中的网络层协议。设计IP的目的是提高网络的可扩展性:一是解决互联网问题,实现大规模、异构网络的互联互通;二是分割顶层网络应用和底层网络技术之间的耦合关系,以利于两者的独立发展。根据端到端的设计原
2020-09-20 22:02:27
422
原创 判空前后顺序的思考(代码规范)
文章目录判空前后顺序的思考一、判空前后什么意思?二、结论判空前后顺序的思考判空应该在前还是在后?提示:以下是本篇文章正文内容,下面案例可供参考一、判空前后什么意思?直接上代码,一个较小的细节。 @Test public void testStringNull(){ String x = null; if (x == null){ System.out.println("xxxx"); }
2020-09-20 21:45:32
601
原创 项目中的异常处理应不应该获取后重新抛?
文章目录前言一、处理异常的方法二、问题解决前言工作项目中的异常处理提示:以下是本篇文章正文内容,下面案例可供参考一、处理异常的方法一般在开发中,我们会有业务异常和程序异常两种。往往我们在catch异常的时候会进行重新抛出一个新的异常。其实这种写法是很不正确的当然由于各个开发人员水平,以及项目的紧凑度,往往会忽略这些事情。简单举例!示例: public void xxx(String xxx) { try { xxx
2020-09-20 21:39:42
476
原创 MySQL Key值(PRI, UNI, MUL)的含义
PRI主键约束;UNI唯一约束;MUL可以重复。主键约束,我们经常加,就不说了。如何添加唯一约束?1.建表时加上唯一性约束:CREATE TABLE `t_user` ( `Id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(18) NOT NULL unique, `password` varchar(18) NOT NULL, PRIMARY KEY (`Id`)) ENGINE=I...
2020-08-02 22:00:37
2891
原创 浅谈一个缓存小实践,另外还有更多案例,欢迎关注~
不能辜负大家的关注,来一篇吧!记得面试的时候别说没用过redis!!!为防止打穿底层MD部门,所以在调用jsf服务的时候进行查询数据的缓存处理。我们先说示例,再谈理论!示例使用的redis是,JD的redis客户端;/** * 京东redis客户端 */private Cluster jdRedisClient;使用的存储对象方法,采用setObjectByExpire()/** * 以有效期的方式存储对象 * * @param key 存储key * @param obje
2020-07-30 22:24:11
395
原创 String 转化 list
/** * String 转化 list * @param s * @return */public List<String> stringToList(String s) { String[] split = s.split(","); return Arrays.asList(split);}
2020-07-19 22:51:10
1328
转载 还在用if(obj!=null)做非空判断?带你快速上手Optional实战性理解!
总在给自己的双休懒惰找借口。没错,我有宅了两天,把平时工作日的睡眠都补回来了!哈哈好久没好好写过博客了,答应各位,下周双休写几篇原创。这里呢?给大家分享一些我看过的好的文章!希望对你我有帮助!!!作者:樊亦凡juejin.im/post/5eb9faa26fb9a0437e0e9899轻松实战性理解Optional1.前言相信不少小伙伴已经被java的NPE(Null Pointer Exception)所谓的空指针异常搞的头昏脑涨,有大佬说过“防止 NPE,是程序员的基本修.
2020-07-19 22:39:07
1314
转载 如何写出优雅的异常处理
本来是想来自己写一篇关于断言的使用,正好看到了一个这个全面的文章。嗯,转给大家学习!作者:巨人大哥来源:cnblogs.com/jurendage/p/11255197.html背景软件开发过程中,不可避免的是需要处理各种异常,就我自己来说,至少有一半以上的时间都是在处理各种异常情况,所以代码中就会出现大量的try {...} catch {...} finally {...}代码块,不仅有大量的冗余代码,而且还影响代码的可读性。比较下面两张图,看看您现在编写的代码属于哪一种风格?然后.
2020-07-19 22:33:15
941
转载 Java 中各种锁的介绍
什么是锁在计算机科学中,锁(lock)或互斥(mutex)是一种同步机制,用于在有许多执行线程的环境中强制对资源的访问限制。锁旨在强制实施互斥排他、并发控制策略。 锁通常需要硬件支持才能有效实施。这种支持通常采取一个或多个原子指令的形式,如"test-and-set", "fetch-and-add" or "compare-and-swap"”。这些指令允许单个进程测试锁是否空闲,如果空闲,则通过单个原子操作获取锁。公平锁 定义:就是很公平,在并发环境中,每个线程在获取锁时会先查看...
2020-07-19 22:26:55
323
原创 大剑无锋之Java的深浅拷贝解释一下!
拷贝的一个经典的使用场景:当前对象要传给其他多个方法使用,如果该对象在某一个方法中被修改,那么这个修改会影响到其他方法。 如果要避免这种影响,就需要给每一个方法都传入一个当前对象的拷贝。深与浅拷贝的区别就在于对复杂对象的处理:对于基本类型,浅拷贝、深拷贝都是拷贝的值;对于引用类型浅拷贝的是对象的引用。而深拷贝则是直接新建一个对象实例。注意浅拷贝中的复杂引用以及简单引用:对于简单引用,拷贝后的对象指向新的地址不会影响到原对象。复杂引用,拷贝后的对象将内部的对象指向新的地址,会影响到原对象对应的内部对象
2020-06-14 22:48:35
313
原创 Java的深浅拷贝你了解吗?
1、概述拷贝的一个经典的使用场景:当前对象要传给其他多个方法使用,如果该对象在某一个方法中被修改,那么这个修改会影响到其他方法。 如果要避免这种影响,就需要给每一个方法都传入一个当前对象的拷贝。深与浅拷贝的区别就在于对复杂对象的处理:对于基本类型,浅拷贝、深拷贝都是拷贝的值;对于引用类型浅拷贝的是对象的引用。而深拷贝则是直接新建一个对象实例。注意浅拷贝中的复杂引用以及简单引用:对于简单引用,拷贝后的对象指向新的地址不会影响到原对象。复杂引用,拷贝后的对象将内部的对象指向新的地址,会影响到原.
2020-06-14 22:46:03
413
原创 我来更新了,说说工作中的Java处理异常
背景本周二的一个线上小事故,不过如果说是事故,也有点过于的夸张了,只是代码的异常处理不到位,将异常层层的抛给了最上层的拦截器,然后在日志中对于一些错误的调用报出异常错误,不过问题不大,经过评估,只针对于线上的一些非法用户和异常传参时才会调用。(之所以这样,因为这段代码是处理越权问题)【友情提示】 或许这里会有小伙伴问,越权是什么?这可不,给你准备好了!浅谈一下什么是越权问题?所以在这里做一个简单的处理异常的小归纳!以下摘自:ttps://dzone.com/articles/9-best-prac
2020-06-14 22:40:41
346
原创 浅谈一下什么是越权问题?
1、什么是越权?越权(或者说权限提升,Privilege Escalation)是指攻击者能够执行他本身没有资格执行的一些操作,属于“访问控制”的问题。用大白话讲,越权就是“超越了你你拥有的权限,干了你本来不可能干的事儿”。先来几个越权的例子:Winmail普通用户可直接进入后台取得域名管理、用户管理等所有权限大华DSS平台低权限账户越权直接修改system密码前程无忧越权访问个人简历(简单测试上万份简历可查看)易企秀越权修改信息致任意用户登入一般情况下,常见的访问控制方式有三种:垂
2020-06-14 22:28:14
12251
1
转载 缓存穿透、缓存击穿、缓存雪崩区别和解决方案
一、缓存处理流程前台请求,后台先从缓存中取数据,取到直接返回结果,取不到时从数据库中取,数据库取到更新缓存,并返回结果,数据库也没取到,那直接返回空结果。二、缓存穿透描述:缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,如发起为id为“-1”的数据或id为特别大不存在的数据。这时的用户很可能是攻击者,攻击会导致数据库压力过大。解决方案:接口层增加校验,如用户鉴权校验,id做基础校验,id<=0...
2020-06-03 08:41:57
410
转载 Maven中 jar包冲突原理与解决办法&依赖传递
Maven中 jar包冲突原理与解决办法&依赖传递管理包依赖是 Maven 核心功能之一,下面通过如何引入 jar 包;如何解析 jar 包依赖;包冲突是如何产生;如何解决包冲突;依赖管理解决什么问题;什么是依赖范围;使用包依赖的最佳实践等 6 个问题来介绍。如何引入 jar 包在代码开发时,如果需要使用第三方 jar 包提供的类库,那么需要在 pom.xml 加入该 jar 包依赖。 例如:使用 zookeeper client <!-- https://mvnreposit
2020-05-27 12:36:16
1130
原创 连接池,数据库连接池
连接池连接池是什么?连接池是创建和管理一个连接的缓冲池的技术,这些连接准备好被任何需要它们的线程使用。连接池的优点减少连接创建时间简化的编程模式受控的资源使用注:连接池能够使性能最大化,同时还能将资源利用控制在一定的水平之下,如果超过该水平,应用程序将崩溃而不仅仅是变慢。在实际应用开发中,特别是在WEB应用系统中,如果JSP、Servlet或EJB使用JDBC直接访问数据库中的数据,每一次数据访问请求都必须经历建立数据库连接、打开数据库、存取数据和关闭数据库连接等步骤,而连接并打开数
2020-05-22 23:51:40
514
原创 Cannot resolve xxx.5.5
如果挂的vpn看看是否连接成功,看仓库是否有相应包,有删除,重新,即:查看网络,这些基本的没问题,嗯换版本,即更改version即可
2020-05-21 16:50:45
416
MyScala.rar
2019-10-19
基于servlet&jsp;&mysql;的表格增删改查操作.rar
2019-08-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人