
编程
文章平均质量分 89
七包辣条
vv Jimbye vv
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Cryptocell-712安全引擎概述
解决方案是提供额外的硬件,它可以接收Non Secure World指令并在硬件内部执行密码操作,整个过程不需要将安全数据暴露给CPU,且可以将操作结果存放在指定的非安全内存,CPU只需要休眠或轮训结果。在ARMv8架构下,系统开机启动,会经历软件定义的BL1/BL2/BL31/BL32/BL33等多个阶段,如何保证每个启动阶段镜像的安全性,是构建平台安全和系统安全的基础业务。CryptoCell提供硬件密钥槽,可以管理或保存用户的密钥,且密钥使用硬件隔离技术,增强了用户密钥的安全性。原创 2022-09-17 10:22:56 · 449 阅读 · 0 评论 -
pod(一):Kubernetes(k8s)创建pod的两种方式
docker可以创建容器,Kubernetes不能直接创建容器,Kubernetes创建的是pod,pod里面包含了一个或者多个容器。创建pod的前提是已经有一套可以正常运行的Kubernetes集群,关于Kubernetes(k8s)集群的安装部署,可以查看博客《Centos7 安装部署Kubernetes(k8s)集群》Centos7 安装部署Kubernetes(k8s)集群 - 人生的哲理 - 博客园。原创 2022-09-17 10:06:28 · 3342 阅读 · 0 评论 -
开源云原生分布式文件系统 - JuiceFS
大家最耳熟能详的分布式文件系统当属 HDFS,它的全称是 ,在 Hadoop 技术栈盛行时大放异彩。随着云计算的发展成熟,数据上云成为趋势,但由于对象存储和文件存储的结构不同,在云上要进行大数据存储时会遇到很多问题:查询性能慢、数据不能保证一致性。今天要为大家介绍的就是一款为云环境设计的文件系统,JuiceFS 是一款云原生高性能分布式文件系统, 采用的是插件化的架构,「数据」与「元数据」分离,用户可按照场景需求选择适用的元数据以及数据引擎。原创 2022-09-17 09:50:06 · 676 阅读 · 0 评论 -
一个不错的开源项目风控引擎(Radar)
一款基于java语言,使用Springboot + Mongodb + Groovy + Es等框架搭建的轻量级实时风控引擎,适用于反欺诈应用场景,极简的配置,真正做到了开箱即用。通过学习本项目能快速了解 风险的定义 ,进而 量化风险 ,最后达到 集中管理风险 的目的。原创 2022-09-17 09:35:00 · 1944 阅读 · 0 评论 -
一步步搞懂MySQL元数据锁(MDL)
通过前面的介绍,本文开始的案例产生的过程就很简单了:用户执行了一个全表delete,在目标表上加了metadata读锁,由于表很大,读锁长时间无法释放,后来另外一个session执行了drop table操作,又需要在表上加metadata写锁,由于读写锁互相阻塞,drop操作只能等待delete操作完成才能获得写锁,因此从表面来看,二个命令都长时间没有响应,其实内部一个在执行,一个在等待。二者最重要的区别一个是表锁,一个是行锁,且行锁中的读写操作对应在metadata lock中都属于读锁。原创 2022-09-16 15:09:14 · 107 阅读 · 0 评论 -
一步步搞懂MySQL元数据锁(MDL)
通过前面的介绍,本文开始的案例产生的过程就很简单了:用户执行了一个全表delete,在目标表上加了metadata读锁,由于表很大,读锁长时间无法释放,后来另外一个session执行了drop table操作,又需要在表上加metadata写锁,由于读写锁互相阻塞,drop操作只能等待delete操作完成才能获得写锁,因此从表面来看,二个命令都长时间没有响应,其实内部一个在执行,一个在等待。二者最重要的区别一个是表锁,一个是行锁,且行锁中的读写操作对应在metadata lock中都属于读锁。原创 2022-09-16 15:02:06 · 173 阅读 · 0 评论 -
一步步搞懂MySQL元数据锁(MDL)
通过前面的介绍,本文开始的案例产生的过程就很简单了:用户执行了一个全表delete,在目标表上加了metadata读锁,由于表很大,读锁长时间无法释放,后来另外一个session执行了drop table操作,又需要在表上加metadata写锁,由于读写锁互相阻塞,drop操作只能等待delete操作完成才能获得写锁,因此从表面来看,二个命令都长时间没有响应,其实内部一个在执行,一个在等待。二者最重要的区别一个是表锁,一个是行锁,且行锁中的读写操作对应在metadata lock中都属于读锁。原创 2022-09-16 15:01:11 · 222 阅读 · 0 评论 -
一步步搞懂MySQL元数据锁(MDL)
通过前面的介绍,本文开始的案例产生的过程就很简单了:用户执行了一个全表delete,在目标表上加了metadata读锁,由于表很大,读锁长时间无法释放,后来另外一个session执行了drop table操作,又需要在表上加metadata写锁,由于读写锁互相阻塞,drop操作只能等待delete操作完成才能获得写锁,因此从表面来看,二个命令都长时间没有响应,其实内部一个在执行,一个在等待。二者最重要的区别一个是表锁,一个是行锁,且行锁中的读写操作对应在metadata lock中都属于读锁。原创 2022-09-16 15:00:40 · 141 阅读 · 0 评论 -
设计模式之中介者模式
网上讲解设计模式的文章很多,能把中介模式讲清楚很简单,但能说明白何时使用合适的设计模式却是难上加难。在前三章设计模式的基础之上,第四章总结看完,希望读者能对正确使用设计模式有一个清晰的轮廓。很多网上的博客都说要职责清晰才可使用中介者模式,如果类的职责是混乱的,那中介者的逻辑写起来就很难受。还有多个对象间耦合严重,类图之间出现了网状结构,这时候就可以考虑中介者模式了,如果仅仅是为了使用中介者模式而使用,那就得不偿失了。中介者的优点突出,中介者模式的出现会让网状结构,有序的转化为星状结构。原创 2022-09-15 10:16:53 · 100 阅读 · 0 评论 -
阿里大佬耗时一年整理的 Java 面试常考题,GitHub 点赞 33K+
Spring IOC 负 责 创 建 对 象 , 管 理 对 象 ( 通 过 依 赖 注 入(DI) , 装 配 对 象 , 配 置 对 象 , 并 且 管 理 这 些 对 象 的 整 个 生 命 周 期。原创 2022-09-15 10:01:17 · 214 阅读 · 0 评论 -
Github点击破百万!这部《从零开始学架构》神书就此霸榜
成为架构师是程序员进阶不可或缺的一条路径,尤其在当今愈加智能化的社会,对每位程序员的架构能力都提出了新的要求。书中自有颜如玉书中自有黄金屋,只有不断学习,才能摆脱35年龄下岗的梗!;但在管理的道路上已经近乎饱和,大部分程序员的选择就是:往架构师方向发展!,耐心看完,你会收获更多的感悟。“架构”到底指啥,很多人不一定能够准确地回答。例如: 架构和框架是什么关系?有什么区别?原创 2022-09-15 09:45:20 · 257 阅读 · 0 评论 -
逆向分析:基于 JS 字节码的保护技术
现在流行使用 JS 字节码对 JavaScript 源码进行保护。我怎么感觉技术也是轮回发展的呢?字节码与 JavaScript 源码的关系,就像汇编与 PE 或 ELF 一样,感觉又回到了 N 年前用 IDA+OD 做逆向的时代。但时代不同了,逆向的程序越来越大,工作量越来越大,需要更有效的自动化手段来降低逆向的工作量。当然,再自动的方法也只能是辅助工具,因为逆向就是个体力活。监控每个 JS API,准确地说是所有的 ECMAScript API。原创 2022-09-14 10:42:23 · 324 阅读 · 0 评论 -
逆向分析:基于 JS 字节码的保护技术
现在流行使用 JS 字节码对 JavaScript 源码进行保护。我怎么感觉技术也是轮回发展的呢?字节码与 JavaScript 源码的关系,就像汇编与 PE 或 ELF 一样,感觉又回到了 N 年前用 IDA+OD 做逆向的时代。但时代不同了,逆向的程序越来越大,工作量越来越大,需要更有效的自动化手段来降低逆向的工作量。当然,再自动的方法也只能是辅助工具,因为逆向就是个体力活。监控每个 JS API,准确地说是所有的 ECMAScript API。原创 2022-09-14 10:40:52 · 561 阅读 · 0 评论 -
逆向分析:基于 JS 字节码的保护技术
现在流行使用 JS 字节码对 JavaScript 源码进行保护。我怎么感觉技术也是轮回发展的呢?字节码与 JavaScript 源码的关系,就像汇编与 PE 或 ELF 一样,感觉又回到了 N 年前用 IDA+OD 做逆向的时代。但时代不同了,逆向的程序越来越大,工作量越来越大,需要更有效的自动化手段来降低逆向的工作量。当然,再自动的方法也只能是辅助工具,因为逆向就是个体力活。监控每个 JS API,准确地说是所有的 ECMAScript API。原创 2022-09-14 10:24:12 · 658 阅读 · 0 评论 -
为什么 JavaScript 模块中的默认导出很糟糕
最后,你可能也在想,"我使用的框架或工具几乎要求我们默认导出一个函数或组件"。有了命名导出,使用IDE,我们可以很方便的知道一个模块有哪些方法。没错,就是默认导出。默认导出的开发体验类似于 Node 中的 CommonJS,它的开发体验也不太友好。在本节中,我们来看下为什么默认导出是一种糟糕的做法,会导致不好的开发体验。到这里,大家可能有一个问题,如果来自不同模块的两个命名导出具有相同的名称,该怎么办?ps:我举的例子,可能有点刻意,但随着模块的复杂,类似这种情况有常有的。原创 2022-09-14 10:23:17 · 390 阅读 · 0 评论 -
Java Web大作业——编程导航系统
一、前端UI:(1)、用户方面:1、可以查询阅览各种技术、软件的资料2、对编程技术进行了一系列划分,每个分类都包含技术博客、学习资料等内容,便于用户理解学习。3、社交功能,不同用户之间可以互动5、用户可以分享技术博客以及学习资料,首页会展示精选的博客、学习资料以及热点技术信息等。6、设有全局搜索功能,用户可以自定义搜索自己想要查看的内容。7、设有心愿墙模块,用户可以在心愿墙发布自己想要寻找的资料或者想要解决的问题,其他用户看到后可以联系帮助实现心愿,实现心愿可以获得一定的积分。原创 2022-09-14 10:22:25 · 999 阅读 · 0 评论 -
简介Java全栈Web开发框架Hilla
本文介绍了基于 Vaadin Fusion 的全栈框架 Hilla。Hilla 为使用响应式前端构建 Java Web 应用程序提供了良好的集成体验。多亏了Vaadin,它有许多有用的组件可供使用。本文示例应该会让你对Hilla的使用有一个初步的了解。原创 2022-09-14 10:19:41 · 317 阅读 · 0 评论 -
Java Web实现用户登录功能
mvc结构实现mysql 连接什么是mvc实现简单登录功能。原创 2022-09-14 10:18:40 · 1160 阅读 · 0 评论 -
设计模式之迭代器模式
当一个对象是一个聚合对象且需要对外提供遍历方法时,可以使用迭代器模式。迭代方式提供了不同的方式遍历聚合对象,增加新的聚合类和迭代器类都是比较方便的,Java集合类中庞大的家族采用迭代器模式就是基于这种优点。迭代器模式有设计模式的通用缺点——系统复杂性,迭代器模式将数据存储和数据遍历分开,增加了类的个数。整体来说,迭代器模式是比较易于理解的一种行为型设计模式。原创 2022-09-14 09:45:39 · 106 阅读 · 0 评论 -
设计模式之迭代器模式
当一个对象是一个聚合对象且需要对外提供遍历方法时,可以使用迭代器模式。迭代方式提供了不同的方式遍历聚合对象,增加新的聚合类和迭代器类都是比较方便的,Java集合类中庞大的家族采用迭代器模式就是基于这种优点。迭代器模式有设计模式的通用缺点——系统复杂性,迭代器模式将数据存储和数据遍历分开,增加了类的个数。整体来说,迭代器模式是比较易于理解的一种行为型设计模式。原创 2022-09-14 09:43:39 · 182 阅读 · 0 评论 -
Java 数据结构与算法中的字典树你学会了吗?
Trie 的历史字典树 Trie 这个词来自于 retrieval,于 1912 年,Axel Thue 首次抽象地描述了一组字符串数据结构的存放方式为 Trie 的想法。这个想法于 1960 年由 Edward Fredkin 独立描述,并创造了 Trie 一词。你看看,多少程序员为了一个词、方法名、属性名,想破脑袋!原创 2022-09-14 09:42:42 · 109 阅读 · 0 评论 -
下载超过 28762W 次的 Java面试题库(附答案)
网上有太多的 Java 面试题库了,但是大部分潦潦草草,没有知识储备的很难看下去,看完后也不会留下印象。有没有这样的题库?这本 PDF 下载已经近 3 万次,没保存的抓紧了。最重要的是里面有常问面试提,据说已经有小伙伴通过这套资料,(大三,研二),这个题库要保存哦,找工作找实习会用到。讲解 HTTP 时,为了方便理解,会举一些常见的例子。大部分都是面试高频题目,面试题千千万万,还会具体到源码,源码有很好的注释。如果有面试开发岗位的打算,这本。,否则等你用到的时候就找不到啦!原创 2022-09-13 10:44:42 · 127 阅读 · 0 评论 -
Java JDK path环境变量配置
确保已经下载安装了JDK,这里以JDK-18为例。原创 2022-09-13 10:10:56 · 625 阅读 · 0 评论 -
Java八股文纯享版——篇②:并发编程
继承于Thread类,重写Thread类中的run()方法,创建子类对象,调用start()方法。}}}}原创 2022-09-13 09:31:42 · 432 阅读 · 0 评论 -
Java环境搭建,Java历史,JavaAPI文档使用
软件开发软件,即一系列按照特定顺序组织的计算机数据和指令的集合。有系统软件和应用软件之分。人机交互方式图形化界面这种方式简单直观,使用者易于接受,容易上手操作。命令行方式:需要有一个控制台,输入特定的指令,让计算机完成一些操作。较为麻烦,需要记录住一些命令。常用的DOS命令(不区分大小写)dirmdrdrd *.txt.txt*cdcd..cd\(cd/一样)del(delete)exit按上下直接显示刚才输入过的指令。原创 2022-09-13 09:27:38 · 243 阅读 · 0 评论 -
zookeeper是apache开源的,使用java开发的,分布式的服务配置管理系统
所有事物请求的处理结果在整个集群中所有机器上的应用情况是一致的,即,要么整个集群中所有机器都成功应用了某一事务,要么都没有应用,一定不会出现集群中部分机器应用了改事务,另外一部分没有应用的情况。观察者角色,观察Zookeeper集群的最新状态变化并将这些状态同步过来,对于非事务请求可以进行独立处理,对于事务请求,则会转发给 Leader服务器进行处理。zookeeper中可以保存数据,正是利用zookeeper可以保存数据这一特点,我们的集群通过在zookeeper里存取数据来进行消息的传递。原创 2022-09-13 09:26:04 · 171 阅读 · 0 评论 -
Java对象转换最佳方案
UserDO@Data}复制代码UserDTO@Data}复制代码软件系统一般都会进行分层,领域模型也会随之进行分层,即每层都有自己关注的模型对象;分层的主要原因是便于维护。模型之间的对象经常要互相转换,常用的转换实现有反射和get/set,反射的性能很差不建议使用然后写了基于get/set实现的beancopier和mapstruct使用方式,简单测试了下性能,mapstrcut优于其它各种对象转换方式。原创 2022-09-13 09:25:13 · 1352 阅读 · 0 评论 -
Java开发学习----Maven多环境配置切换与跳过测试的三种方式
我们平常都是在自己的开发环境进行开发,当开发完成后,需要把开发的功能部署到测试环境供测试人员进行测试使用,等测试人员测试通过后,我们会将项目部署到生成环境上线使用。这个时候就有一个问题是,不同环境的配置是不相同的,如不可能让三个环境都用一个数据库,所以就会有三个数据库的url配置,在项目中如何配置?要想实现不同环境之间的配置切换又该如何来实现呢?maven提供配置多种环境的设定,帮助开发者在使用过程中快速切换环境。具体实现步骤:步骤1:父工程配置多个环境,并指定默认激活环境。原创 2022-09-13 09:23:48 · 408 阅读 · 0 评论 -
Java 默认可变性:“万亿美元级别的错误” | InfoQ 访谈
Ward 很好地解释了播客上的评论——当 Eckel 谈到“仍被困在 Java 世界中的人们”时,他指的是使用他和 James 眼中的 Java 旧范式(比如过程式和面向对象编程)的开发人员。相比之下,Eckel 和 Ward 在 Scala 中采用了 Java 语言中没有的函数式编程概念。可变性让 Ward 更难理解代码,并最终产生更多的 Bug,这与不可变的函数完全不同。原创 2022-09-13 09:22:42 · 645 阅读 · 0 评论 -
给 K8s 中的 Operator 添加 Webhook 功能【保姆级】
准入控制器是在对象持久化之前用于对 Kubernetes API Server 的请求进行拦截的代码段,在请求经过身份验证和授权之后放行通过。准入控制器可能正在 validating、mutating 或者都在执行,Mutating 控制器可以修改他们处理的资源对象,Validating 控制器不会,如果任何一个阶段中的任何控制器拒绝了请求,则会立即拒绝整个请求,并将错误返回给最终的用户。时序图如下所示:如果我们想为 CRD 实现 admission webhook,我们唯一要做的就是实现。原创 2022-09-13 09:21:25 · 1191 阅读 · 2 评论 -
小公司里用SpringBoot做MySQL分库分表,踩了一些坑!
这里就不给大家展示数据库的安装和防火墙的操作了,这个我感觉网上好多资源都能够满足遇到的问题,在搭建主从库的时候有在网上见到过说MySQL版本要一致的,我也没太留意直接就在之前的MySQL上操作了,大家可以自己去验证一下。==重要的事情说三遍,因为再操作主库之后可能会导致红框中的。出错的原因是在主库中删除了用户信息,但是在从库中同步的时候失败导致同步停止,下面记录自己的操作(是在进入MySQL的操作且是从库)。,因为下面的命令还是SQL命令,执行下面的SQL,可以拿到我们后面需要的两个重要参数。原创 2022-09-12 10:00:13 · 248 阅读 · 0 评论 -
k8s中几个基本概念的理解
1、Pod 是 k8s 中集群部署应用和服务的最小单元;2、RC 是 k8s 集群中最早的保证 Pod 高可用的 API 对象。它的作用就是保证集群中有指定数目的 pod 运行;3、RS 是新一代 RC,提供同样的高可用能力,是目前主要使用的对象;4、Deployment 提供了一种对 Pod 和 ReplicaSet 的管理方式,RS 的使用都是结合 Deployment 来完成的。原创 2022-09-12 09:54:13 · 186 阅读 · 0 评论 -
Flink Table Store v0.2 应用场景和核心功能
今天的主题围绕以下四点展开:应用场景核心功能未来展望项目信息01应用场景首先了解一下Flink Table Store v0.2的架构(如图 1),它首先是一个湖存储,以低成本无服务的方式存储大量数据。湖存储中通过Manifest管理文件,每个Bucket中是一个 LSM Tree。在湖存储上也支持了和Kafka的集成,让你一张表同时存储离线和实时数据。原创 2022-09-12 09:52:59 · 1109 阅读 · 1 评论 -
九个写 TypeScript 的坏习惯,看看你有没有?
以上9种写TypeScript的习惯,你有几种?如果都没有的话,那么恭喜你,如果只有其中一些的话,请尝试着改掉它。原创 2022-09-12 09:42:44 · 317 阅读 · 0 评论 -
设计模式之工厂方法模式--更加符合开闭原则的工厂模式
工厂方法模式是简单工厂模式的升级版本,更加符合开闭原则。定义一个创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。原创 2022-09-12 09:40:56 · 833 阅读 · 0 评论 -
Java 多线程:锁
其实是对读写锁的一种改进,它支持在读同时进行一个写操作,也就是说,它的性能将会比读写锁更快。更通俗的讲就是在读锁没有释放的时候是可以获取到一个写锁,获取到写锁之后,读锁阻塞,这一点和读写锁一致,唯一的区别在于。有三种模式:悲观读:允许多个线程获取悲观读锁。写锁:写锁和悲观读是互斥的。乐观读:无锁机制,类似于数据库中的乐观锁,它支持在不释放乐观读的时候是可以获取到一个写锁。参考:示例代码:悲观读 + 写锁:// 悲观读 + 写锁//缓存中存储的数据。原创 2022-09-12 09:38:55 · 334 阅读 · 0 评论 -
Mysql索引学习笔记
索引是存储引擎快速找到记录的一种数据结构。数据库中的数据可以理解成字典中的单词,而索引就是目录,显而易见这是一种空间换时间的做法,目录占用了空间,但是加快了我们找到单词的速度,正如索引需要空间存储,但是利用索引我们可以快速的找到想要的数据。本文主要讨论B+树索引。原创 2022-09-12 09:37:14 · 361 阅读 · 0 评论 -
开箱即用,40 个 SpringBoot 常用注解!
后端开发同学对 Spring Boot 一定不陌生,由于其精巧的架构设计,并提供了丰富的注解,让我们的开发效率事半功倍。今天,就带大家一起回顾下 Spring 家族都提供了哪些注解。原创 2022-09-12 09:35:30 · 135 阅读 · 0 评论 -
GreatSQL vs MySQL性能测试来了,速围观~
无论ibp(innodb_buffer_pool_size)是否充足,MySQL的性能都远不如GreatSQL。MySQL的性能平均约为GreatSQL的70%(最高84.5%,最低61.7%)。在ibp充分的情况下,随着并发数的增加,MySQL并没有表现出该有的性能提升,反倒掉头向下,可见还是不够稳定。在ibp不够的情况下,GreatSQL开启thread pool性能有所提升;当ibp充足的情况下,区别就不大了。MySQL vs GreatSQL性能数据对比各数据库版本分别为。原创 2022-09-12 09:33:42 · 583 阅读 · 0 评论 -
ChaosBlade Java 场景性能优化,那些你不知道的事
时间 2022-09-08 21:09:02原文主题01介绍AliwareChaosBlade 是阿里巴巴开源的一款遵循混沌工程原理和混沌实验模型的实验注入工具,帮助企业提升分布式系统的容错能力,并且在企业上云或往云原生系统迁移过程中业务连续性保障。目前支持的场景有:基础资源、Java 应用、C++ 应用、Docker 容器以及 Kubernetes 平台。原创 2022-09-09 10:11:44 · 447 阅读 · 0 评论