- 博客(42)
- 收藏
- 关注
原创 一夜之间火爆全网的200W程序员福利:进阶阿里p6必学的MySQL+亿级流量微服务+Jvm+Netty+多线程与高并发全集教程
详解mysql的日志系统( binlog,redolog,undolog)详解mysql架构体系(连机器,分析器,优化器,执行器)详解mysql的存储引擎( mysql的数据组织形式)详解mysql回表,覆盖索引,最左匹配,索引下推。如何占用更少的资源完成更多的并发连接和请求处理?线程的本质(操作系统与CPU是如何执行线程的)纤程的本质(go语言纤程为什么和线程池有关)详解索引的匹配方式sql语句中如何使用索引。如何理解N*C*(1+C/W)的计算公式?详解mysql执行计划(找到调优的入口)
2025-02-10 10:55:41
346
原创 一名Java架构师最关键三个思维转变方式,合理的运用框架
就类似我前面谈售前技术建议书一样,客户的招标要求千差万别,但是你只要有了(业务方案,技术方案,部署方案,实施方案,运维,人员,案例,报价单模板)等基础知识点,你就可以应对所有的售前方案,你唯一需要做的就是讲客户的招标要求或需求分解为一个个的需求点,同时将这些需求点映射到你已有的知识点上。即将解决方法分解为细粒度知识点。所有千奇百怪的问题,你到互联网一搜马上就搜索到答案并解决掉了,那么这个时候你不会再去深究回答者是如何进行问题分析和思考而得出答案的,即你随时搜索到了答案,但是你没学会是思考和解决问题的方法。
2025-02-10 10:53:44
797
原创 一个月面试了3家大厂Java岗,我发现这几个突破点
最后是我们项目的结果。我们在项目的过程中需要去根据我们业务的特点,我们用户的特点,比如说我们用户的各种特征,来去设计我们的这个项目,然后去达成我们的业务目标,在技术指标上面,我们需要去考虑我们整体系统的访问量,我们的QPS,我们的承载量,我们的这个底级底层存储的容量,以及我们后续未来半年到一年的时间,我们系统容量成长程度是不是需要提前准备扩容等等。比如说,我们的业务需要去提升用户的留存,然后去提升我们整体的用户体验等等,以及我们的系统在哪里遇到了瓶颈,如果不做可能会对我们的业务产生什么影响。
2025-02-10 10:51:38
706
原创 WPF学习——依赖项属性(3)
每个DendencyObject类的实例都会创建一个专门的数组,数组中的每个元素分别标识着该类型的一个依赖项属性,例如我定义了一个类A,A里面定义了3个依赖项属性A.kk,A.cc,A.ff,这样当A类被分配到内存中实例化的时候,创建一个EffectvieValueEntry数组,而每个EffectiveValueEntry对应着一个属性,保存着该属性的不同版本的值,A类型有3个依赖项属性,所以对应的EffectiveEntry数组就有3个元素。这里就通过XAML标记为 Text属性赋了值。
2025-02-10 10:47:17
699
原创 Worktile、Teambition与Tower项目管理软件对比
产品版本与价格 | Worktile四个版本,体验版,团队版,企业版,私有部署 | Teambition三个版本,专业版399元/年,旗舰版699元/年,私有部署版,其中专业版和旗舰版10人以下免费 | Tower三个版本。| 适用团队 | 适用企业内部部门层级划分以及部门内部任务计划安排 | 以敏捷为主的纯敏捷或偏敏捷的产品研发团队 | 产品技术研发团队 || 面向对象 | 更加面向企业,企业级的管理协作平台 | 偏向面向项目,以项目为核心的管理平台 | 基于项目的团队协作平台 |
2025-02-10 10:45:15
908
原创 wireshark简明教程,新手专用,挑实在的讲,不搞花里胡哨
选择接口(网卡)打开wireshark之后,正常情况下会有好多个接口:还有的版本,就需要一波操作才能打开这个界面了:点击。或者还有个办法,就双击Traffic那个线。不同的版本可能表面上不一样,不要被事物的表面现象所迷惑,我们现在讲的是思维。它可能默认会给你全勾上,没事儿,不用管它,你只要确认你想监听的那个接口被选中,高亮,注意,是高亮,不是打勾,勾肯定是勾上了,看上面的图,蓝色高亮,然后开始。不然你可能会发现什么都抓不出来。
2025-02-10 10:43:14
1907
原创 SVN 使用详解(创建仓库,数据提交,分支创建与合并等)
我们在本地计算机随便一个目录下(D:\items),鼠标右键单击,如下图选择,开始创建 SVN 仓库。创建后,我们可以看到文件夹下已经有了仓库相关的初始化资源了。这时 SVN 会继续弹窗提示【译文:仓库已被创建,现在是否创建默认的(trunk/branches/tags )文件夹结构?】,我们选择【创建该文件夹结构】。这个时候,我们带有 trunk/branches/tags 结构模式的SVN仓库就已经创建好了,最后点击【确定】即可。trunk/branches/tags 模式。
2025-02-10 10:36:58
2912
原创 SQL注入学习之insert,delete,update注入(九)_mysql insert 报错注入
insert,delete,update 主要是用到盲注和报错注入,此类注入点不建议使用sqlmap等工具,会造成大量垃圾数据,和其他情况。
2025-02-10 10:30:40
211
原创 Spring面试题(2024最新版)
Spring是一个轻量级Java开发框架,最早有创建,目的是为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题。它是一个分层的JavaSE/JavaEE full-stack(一站式)轻量级开源框架,为开发Java应用程序提供全面的基础架构支持。Spring负责基础架构,因此Java开发者可以专注于应用程序的开发。Spring最根本的使命是解决企业级应用开发的复杂性,即简化Java开发。Spring可以做很多事情,它为企业级开发提供给了丰富的功能,但是这些功能的底层都依赖于它的两个核心特性,也就是。
2025-02-10 10:28:40
641
原创 Spring超详细学习笔记
**简单Java类作为通知*//**简单Java类作为通知*///spring管理@Component//标识此类为一个切面类@Aspect//将此方法作为一个前置通知植入//将此方法作为一个后置通知植入/**简单Java类作为通知*///spring管理@Component//标识此类为一个切面类@Aspect//自定义切点//将此方法作为一个前置通知织入//将此方法作为一个后置通知织入。
2025-02-10 10:26:38
666
原创 Spring的IOC常用注解(含源码)
查看BeanValidationPostProcessor实现了BeanPostProcessor接口,其中不管是postProcessBeforeInitialization还是postProcessAfterInitialization,均调用了。//如果当前bean为ApplicationContextAware的子类,则会调用其setApplicationContext将applicationContext进行赋值。构造(对象创建)单实例:在容器启动的时候创建对象多实例:在每次获取的时候创建对象。
2025-02-10 10:24:36
518
原创 Spring源码解析(一)IOC
到这里BeanDefinition的解析就完成了,返回了BeanDefinitionHolder对象, 回到前面的processBeanDefinition方法,接下来最重要的是注册BeanDefinition。上面是定义一个bean的主要配置,接下来我们看bean的解析过程,这是在BeanDefinitionParserDelegate中完成的,类名的意思是BeanDefinition解析的委托。//这里是解析profile属性,profile属性是Beans的,可以根据不同的环境选择不同的配置。
2025-02-10 10:22:39
480
原创 Spring整合javaweb的基本步骤简单记录
Spring与javaweb整合使用Spring来控制事务(dao—jdbctemplate)所有组件@Autowired管理数据库Spring整合javaweb1.导入相关坐标2.写配置。
2025-02-10 10:20:28
382
原创 SpringMVC框架技术总结(三)
定义异常处理方法,使用标识可以处理的异常。//如果出现了相关的异常,就会调用该方法//把异常信息存入域中//跳转到error.jsp。
2025-02-10 10:16:29
852
原创 SpringloC容器的依赖注入源码解析(4)—— Bean的创建(createBean)
doResolveBeanClass方法里有很多classLoader,即调用事先保存的各种各样的类加载器去尝试加载class对象,由于class对象和类加载器一一对应,所以class对象会存在于其中的一个类加载器中,通过该加载器找到了对应的class对象之后,就会用对应的classLoader加载出对象来。回到createBean,下面如果获取到的class对象不为空,并且当前的BeanDefinition在解析之前没有class对象,但是却有className时(对应xml方式),此时就会拷贝一个。
2025-02-10 10:14:13
463
原创 Android 自定义最大宽度,高度, 宽高比例 Layout
原理其实很简单,对自定义 View 有基本了解的人都知道,View 的宽度和高度,是在 onMeasure 方法中进行测量的,他们的大小受 MeasureSpec 的影响。指定最大宽度,最大高度,我们值需要使用 ml_maxWidth,ml_maxheight 属性即可,当然我们也可以同时指定最大宽度和最大高度。比如,我们要指定宽度是高度的某个比例的时候,如,宽度是高度的 0.8,可以这样写。比如,我们要指定高度是宽度的某个比例的时候,如,高度是宽度的两倍,可以这样写。根据宽高的比例进行相应的调整。
2025-02-06 14:50:40
750
原创 Android 自定义View (一)
系统帮我们测量的高度和宽度都是MATCH_PARNET,当我们设置明确的宽度和高度时,系统帮我们测量的结果就是我们设置的结果,当我们设置为WRAP_CONTENT,或者MATCH_PARENT系统帮我们测量的结果就是MATCH_PARENT的长度。我们重写了3个构造方法,默认的布局文件调用的是两个参数的构造方法,所以记得让所有的构造调用我们的三个参数的构造,我们在三个参数的构造中获得自定义属性。完全复合我们的预期,现在我们可以对高度、宽度进行随便的设置了,基本可以满足我们的需求。获得我自定义的样式属性。
2025-02-06 14:48:58
400
原创 如何设计一个秒杀系统?
今天老顾把秒杀系统的核心知识点做了介绍,最主要的就是库存的处理思路,以及限流和异步化,商品详情其实是很重要的,大家要去看一下【你了解大型网站的页面静态化吗?。秒杀系统的核心知识点做了介绍,最主要的就是库存的处理思路,以及限流和异步化,商品详情其实是很重要的,大家要去看一下【你了解大型网站的页面静态化吗?。
2025-02-05 21:04:49
638
原创 如何设计一个优秀的分布式系统?限时分享这份688页分布式开发小册
只要把这6个问题解决了,你设计的分布式系统不说完美,但肯定是算得上优秀的。但是设计一个分布式系统对于刚入行不久或者没有接触过这一领域的小伙伴来说肯定比较困难的,也不知道从何处入手。不管你是刚入行不久的小白还是有相关经验的工程师,都能从中受益!设计分布式系统的本质就是“如何合理地将一个系统拆分成多个子系统并部署到不同的机器上”。如何设计一个优秀的分布式系统?
2025-02-05 21:03:17
219
原创 多线程学习笔记04线程同步
当余票数显示为1时,我、你、黄牛党都看到余数为1,都进行买票操作,当其中一个人成功拿到1时,余票为0,0被第二个人拿到后,余票为-1且被第三个人拿到,这就是原因所在。由此可见,如果不让三者排队,则线程会变得非常不安全。案例二,银行取钱://不安全的取钱//账户Account account = new Account(100, “结婚基金”);Drawing you = new Drawing(account, 50, “你”);//你要取50万//你你女朋友要全部取走//你们两个都要取钱。
2025-02-05 17:41:34
735
原创 备战蓝桥杯 2018年真题分析
塔的每一层高度都是一样的,与地球上稍有不同的是,他们的第一层不是地面,而是相当于我们的2楼。对于100%的数据,1 <= K <= N <= 100000 0 <= ts <= 100000 0 <= id <= 100000。对于整点(X, Y),我们定义它到原点的距离dis(X, Y)是从原点到(X, Y)的螺旋折线段的长度。题目的要求隐藏在这些信息中。你的任务是复原这些汉字的字形,从中看出题目的要求,并根据要求填写答案。如下的10行数据,每行有10个整数,请你求出它们的乘积的末尾有多少个零?
2025-02-05 17:38:01
354
原创 听说Python多线程和多进程有鸡肋?一起聊聊
在单线程模式下,循环完成后 counter 的值应该是 40000000,但是在多线程模式下,由于 GIL 的限制,多个线程并不能真正并行地执行代码,导致 counter 的最终值小于 40000000。在我的机器上运行这个代码示例,可以看到几乎同时访问 4 个 URL,并在几乎相同的时间内完成了任务,证明了 asyncio 库在 I/O 密集型任务中的性能优势。在我的机器上运行这个代码示例,可以看到 4 个线程几乎同时执行,并在几乎相同的时间内完成了任务,证明了多线程在 I/O 密集型任务中的性能优势。
2025-02-05 14:19:21
860
原创 原来阅读源码如此简单(Byte源码篇)
1、先易后难: 刚开始我们不需要去阅读像Mybatis,Spring这种框架的源码,因为这种框架的代码的逻辑会比较复杂,如果我们没有阅读源码的源码,会无从下手,而且很容易打击自己的自信心,所以,刚开始阅读时,我们可以先阅读jdk中的源码,比如八种基本数据类型如String等等的源码,因为我们经常使用,阅读起来会更加轻松,在慢慢的阅读中积累阅读源码经验,然后也能够慢慢的积累自信心,后面阅读Spring这种源码,也就水到渠成了。// 构造方法,默认传进来的数值是十进制数,如果不是,则抛出异常。
2025-02-04 17:44:05
904
原创 关于android中显示的问题
PengSetting.SCREEN_WIDTH = metric.widthPixels; // 屏幕宽度(像素)PengSetting.SCREEN_HEIGHT = metric.heightPixels; // 屏幕高度(像素)PengSetting.density = metric.density; // 屏幕密度(0.75 / 1.0 / 1.5)System.out.println(“width=”+PengSetting.SCREEN_WIDTH+" height=“+Peng
2025-02-04 13:56:25
585
原创 关于 Oracle 存储双活配置和实战
测试结果描述:因为 RAC1节点和 aa 的存储在一个本地机房,RAC2 节点和 bb 存储在一个机房,所以 RAC1 节点写 aa 存储的速度和 RAC2 节点写 bb 存储的速度都接近理想值。模拟创建一个 10G 的表,分别再 RAC 的两个节点上写两个磁盘组,并测试速度(因为 Redo 在 Data 磁盘组上,data 磁盘组跨两个异地存储节点,这里我们测试需要绕过 Redo,直接写在对应磁盘组上,这里我们用 create table as 测试写入速度,(绕过 Redo 直接测试写到某个磁盘)
2025-02-04 13:54:42
813
原创 你能想到的正则表达式这里都有了,收藏作为速查手册
二、校验字符的表达式^.{3,20}$^[A-Z]+$^[a-z]+$可以输入含有禁止输入含有~的字符[^~\x22]+
2025-02-04 10:54:06
607
原创 你知道那些短小却令人惊叹的 JavaScript 代码吗?_js代码五行四列怎么写
很多情况下,单层 for 循环并不能满足我们的需求,比如我们要打印一个 5 行 5 列的图形、打印一个倒直角三角形等,此时就可以通过循环嵌套来实现。循环嵌套是指在一个循环语句中再定义一个循环语句的语法结构,例如在for循环语句中,可以再嵌套一个for 循环,这样的 for 循环语句我们称之为双重for循环。
2025-02-04 10:50:34
792
原创 云服务器怎么玩--购买后的基础配置以及网站环境搭建
这是百度百科能容,我们主要了解的是虚拟端口,这些端口是我们服务实现并进行数据交换的根本,搭建网站一般要记住两个端口:80跟443。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。PS :这样我们的云服务器就顺利连接上了,接下来就是我们的网页搭建了,在这之前还有一个需要理解的。Ps:常见在服务器上部署的web服务就这两个,做下基础了解后我们就可以开始我么的实战进行web服务的部署。购买后我们点进左上角的控制台就可以看到我们自己购买的服务器了。
2025-02-04 07:50:43
425
原创 云原生(十八) Kubernetes篇之Kubernetes(k8s)工作负载_kubernetes工作负载
Kubernetes garbage collector(垃圾回收器)的作用是删除那些曾经有 owner,后来又不再有 owner 的对象。
2025-02-04 07:48:57
724
原创 一文2500字使用Python进行GRPC和Dubbo协议的高级测试
本文将介绍Dubbo的安装和配置,编写 Dubbo服务接口,启动Dubbo服务提供者,编写Dubbo服务消费者,并展示如何使用Python进行 Dubbo协议测试。在上面的示例代码中,我们首先创建了一个Dubbo客户端,指定了服务接口的名称、版本、服务器地址和端口。你需要继承该类,并实现其中定义 的RPC方法。可以从Dubbo的官方网站下载Dubbo的安装包,并按照官方文档提供的步骤进行安装和配置。在上面的示例中,我们定义了一个名为MyService的服务,该服务包含一个名为SayHello的RPC方法。
2025-02-04 04:28:28
929
原创 一张图揭示主流互联网架构体系
接下来先用一张思维导图来展示目前已有的研究成果:温馨提示:上图是『中间件兴趣圈』已覆盖的知识图谱,文末有指引可获得原图。
2025-02-04 04:26:46
318
原创 zookeeper超详细安装集群部署_zookeeper集群安装部署
进入zookeeper配置文件给配置文件重命名为zoo.cfg配置文件介绍# 用于计算基础的实际单位# 初始化时间# 选举时间# 配置zookeeper数据存放路径首先zookeeper目录下创建zookeeper数据和日志的存放目录,并且添加文件读写权限mkdir datamkdir logs如图修改配置文件集群配置# 集群配置 2888:选举端口 3888:投票端口KAFKA001 表示的是主机名,亦可以写IP地址查看主机名设置主机名在之前创建。
2025-02-03 19:45:32
434
原创 webpack开发环境性能优化之优化代码调试-source-map
但是,有些情况下,点击后面的跳转是不一样的,因为这些非语法错误,而是执行错误的部分,在非source-map的情况下跳转到的是一个eval的执行内容,而使用了source-map虽然提示一样但是跳转的确实是源代码的样子。cheap-module-source-map:生成在外部,和source-map类似但是错误提示到整行而不是整句,不会收到babel的影响。即eval-source-map或eval-cheap-module-source-map,前者更友好,后者更快。
2025-02-03 18:48:35
835
原创 Surpass Day7——Java this关键字
4)静态方法,既可以采用类名的方式访问,也可以采用应用的方式访问,但是即使采用引用的方式访问,实际上执行的时候和引用指向的对象无关,还是默认成“类名.”的方式访问,且会产生警告,但不会产生空指针异常;//调用的doOther中无static,且当前方法中也无static,当前方法有this,所以直接引用.即this.doOther()3)静态方法中没有this,也就是说"当前对象"不存在,自然也无法访问当前对象的实例变量和实例方法(this代表的是当前正在执行这个动作的对象);
2025-02-03 14:35:28
413
原创 Surpass Day19——Java 遗忘遗漏知识梳理回顾
public int sum(int a,int b){//当一个非抽象的类实现接口的话,必须将接口中所有的抽象方法全部实现(覆盖、重写)public int sub(int a,int b){//非抽象的类实现接口时重写的抽象方法public不可省。//调用的方法是父类中存在的方法不需要向下转型,直接使用父类型引用调用即可。//这里的E()和K没有关系,E实现了M,但没有实现接口K,所以不能向下转型。//此时a b的底层都是C,C实现了接口A和接口B,所以可以向下转型。//抽象方法没有方法体。
2025-02-03 14:33:47
598
原创 Python爬虫笔记汇总
urllib.request.urlretrieve(url,file) #将网页保存到本地,参数为抓取的网址和保存网页的文件路径。fh=open(“C:/Users/admin/Desktop/a.html”,“wb”) #以二进制写入html文件。fh=open(“C:/Users/admin/Desktop/a.html”,“wb”) #二进制。print(tplt.format(“排名”,“学校”,“地址”,chr(12288)))
2025-02-03 05:38:50
1942
1
原创 Python爬虫爬取豆瓣数据XPath的使用
实现步骤:确定网页源码把网页源码生成一个element对象通过element对象实现XPath语法保存数据目标页面如图:首先进行url分析:第一页、第二页、第三页的url如下:其中,第一页也等价于页面分析:这里一个且所有想要获取的目标数据都在from lxml import etreeimport requestsimport csvdoubanUrl = ‘https://movie.douban.com/top250?start={}&filter=’def getSource(url):headers
2025-02-03 05:37:04
579
原创 Java程序员想跳槽进大厂!这些硬技能你会了吗?
毋庸置疑,Spring早已成为Java后端开发事实上的行业标准,无数的公司选择Spring作为基础的开发框架,大部分Java后端程序员在日常工作中也会接触到Spring,因此,如何用好 Spring,也就成为Java程序员的必修课之一。把工作或者学习过程中遇到的问题和解决方案,还有比较好的网站,总结到电脑中的笔记本中,这些东西都是见证你成长的,是属于你自己的知识库,在学习的过程中多做笔记,多做总结,习惯一旦形成,久而久之,便会印在你的脑海里,你下次再被问到这一问题时,你就可以用自己之前总结过的内容来回答。
2025-02-01 20:59:07
928
原创 Java秋招面试全解析:Java基础+集合+多线程+MySQL+Redis
(ArrayList底层是基于数组实现,可以根据元素下标进行查询,查询方式为(数组首地址+元素长度*下标,基于这个位置读取相应的字节数就可以了),如果数组存的是对象,怎么根据下标定位元素所在位置?(我的思路是用TreeMap去实现,key存的是要入栈的元素,value存的是可以记录他们入栈的一个先后顺序的,例如时间戳,然后重写Comparator比较器,根据value进行排序,遍历Map时,先进的后面出)而一致性则是通过原子性、隔离性、持久性来实现,只有满足这三个特性,才能实现事务的一致性)
2025-02-01 20:55:31
870
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人