精彩博客

关于 Python 装饰器的一些个人理解

装饰器 本质是一个接受参数为函数的函数。 作用:为一个已经实现的方法添加额外的通用功能,比如日志记录、运行计时等。 举例 不带参数的装饰器,不用@ # 不带参数的装饰器 def deco_test(fu...

2020/08/31 09:51
7.6K
3
微软看上的Rust 语言,安全性真的很可靠吗

摘要:近几年,Rust语言以极快的增长速度获得了大量关注。其特点是在保证高安全性的同时,获得不输C/C++的性能。在Rust被很多项目使用以后,其实际安全性表现到底如何呢? 近几年,Rust语言以...

2020/08/13 14:12
1.4W
6
最新情报:所有的递归都可以改写成非递归?

前言 本文收录于专辑:http://dwz.win/HjK,点击解锁更多数据结构与算法的知识。 你好,我是彤哥,一个每天爬二十六层楼还不忘读源码的硬核男人。 上一节,我们使用位图介绍了12306抢票算法的...

2020/08/12 23:09
6.9K
5
数据源管理 | 分布式NoSQL系统,Cassandra集群管理

本文源码:GitHub·点这里 || GitEE·点这里 一、Cassandra简介 1、基础描述 Cassandra是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存收件箱等简单格式数据,此后,由于C...

2020/08/12 07:56
3.9K
0
ConcurrentHashMap 源码分析

和 HashMap 不同的是,ConcurrentHashMap 采用分段加锁的方式保障线程安全,JDK 1.8 之后,ConcurrentHashMap 的底层数据结构从 1.8 开始跟 HashMap 差不多。 HashTable 也是线程安全的,存储...

2020/08/11 15:35
7.2K
1
自己动手编写一个Mybatis插件:Mybatis脱敏插件

1. 前言 在日常开发中,身份证号、手机号、卡号、客户号等个人信息都需要进行数据脱敏。否则容易造成个人隐私泄露,客户资料泄露,给不法分子可乘之机。但是数据脱敏不是把敏感信息隐藏起来,...

2020/08/11 09:56
6.8K
3
C/C++陷阱与套路,当年就是折在这些地儿…

摘要:本文结合作者的工作经验和学习心得,对C++语言的一些高级特性,做了简单介绍;对一些常见的误解,做了解释澄清;对比较容易犯错的地方,做了归纳总结;希望借此能增进大家对C++语言了解...

2020/08/07 10:06
1.1W
3
JVM系列之:JIT中的Virtual Call接口

简介 上一篇文章我们讲解了Virtual Call的定义并举例分析了Virtual Call在父类和子类中的优化。 JIT对类可以进行优化,那么对于interface可不可以做同样的优化么? 一起来看看吧。 最常用的接...

2020/08/04 09:06
5.7K
0
最小生成树(Prim算法)的go语言实现(最小堆缓存边长法)

关于有限连通图的prim算法的细节,可以参考https://my.oschina.net/u/4160637/blog/4359680 这里大致说明一下原理: 首先可以确定,假设某个联通图中,最短边必然在最小生成树里;由反证法可...

2020/08/03 16:17
3.3K
0
JVM系列之:JIT中的Virtual Call

简介 什么是Virtual Call?Virtual Call在java中的实现是怎么样的?Virtual Call在JIT中有没有优化? 所有的答案看完这篇文章就明白了。 Virtual Call和它的本质 有用过PrintAssembly的朋友,...

2020/08/03 10:34
3.3K
0
Python 为什么会有个奇怪的“...”对象?

本文出自“Python为什么”系列,请查看全部文章 在写上一篇《Python 为什么要有 pass 语句?》时,我想到一种特别的写法,很多人会把它当成 pass 语句的替代。在文章发布后,果然有三条留言提...

2020/08/01 21:46
1.4K
0
JVM系列之:通过一个例子分析JIT的汇编代码

简介 我们知道JIT会在JVM运行过程中,对热点代码进行优化,传说自然是传说,今天我们通过一个简单的例子来具体分析一下JIT到底是怎么进行优化的。 一个简单的例子 说干就干,我们先准备一个非...

2020/07/31 10:08
6.9K
2
C++模板沉思录(上)

**花下猫语:**在我们读者群里,最近出现了比较多关于 C++ 的讨论,还兴起了一股学习 C++ 的风气。樱雨楼小姐姐对 C++ 的模板深有研究,系统地梳理成了一篇近 4 万字的文章!本文是上篇,分享...

2020/07/30 22:09
1.3W
5
撸了一个 Feign 增强包

前言 最近准备将公司的一个核心业务系统用 Java 进行重构,大半年没写 Java ,JDK 都更新到 14 了,考虑到稳定性等问题最终还是选择的 JDK11。 在整体架构选型时,由于是一个全新的系统,所以...

2020/07/30 08:30
5.9K
0
JVM系列之:对象的锁状态和同步

简介 锁和同步是java多线程编程中非常常见的使用场景。为了锁定多线程共享的对象,Java需要提供一定的机制来实现共享对象的锁定,从而保证一次只有一个线程能够作用于共享对象。当第二个线程...

2020/07/24 09:15
6.8K
1
O、Θ、Ω、o、ω,别再傻傻分不清了!

前言 本篇文章收录于专辑:http://dwz.win/HjK,点击解锁更多数据结构与算法的知识。 你好,我是彤哥,一个每天爬二十六层楼还不忘读源码的硬核男人。 前面几节,我们一起学习了算法的复杂度...

2020/07/23 23:10
7.6K
0
JVM系列之:Contend注解和false-sharing

简介 现代CPU为了提升性能都会有自己的缓存结构,而多核CPU为了同时正常工作,引入了MESI,作为CPU缓存之间同步的协议。MESI虽然很好,但是不当的时候用也可能导致性能的退化。 到底怎么回事...

2020/07/23 09:13
3.9K
0
如何进行算法的复杂度分析?

前言 本篇文章收录于专辑:http://dwz.win/HjK 你好,我是彤哥,一个每天爬二十六层楼还不忘读源码的硬核男人。 大家都知道,数据结构与算法解决的主要问题就是“快”和“省”的问题,即如何...

2020/07/21 07:10
2.3K
2
如何保证缓存与数据库双写时的数据一致性?

如何保证缓存与数据库双写时的数据一致性? 在做系统优化时,想到了将数据进行分级存储的思路。因为在系统中会存在一些数据,有些数据的实时性要求不高,比如一些配置信息。基本上配置了很久...

2020/07/17 15:40
1W
4
Python 从源码到执行

0.介绍一下常见的编译模型: Java, Python, C 在今天的主题之前,先来了解下几个典型的编译模型。 松本行弘先生,在讲解语言处理器构成时列举了一个通用架构。 source code | | \./ --------...

2020/07/12 15:32
1W
1

没有更多内容

加载失败,请刷新页面

Python 3.10 的首个 PEP 诞生,内置类型 zip() 迎来新特性

译者前言:相信凡是用过 zip() 内置函数的人,都会赞同它很有用,但是,它的最大问题是可能会产生出非预期的结果。PEP-618 提出给它增加一个参数,可以有效地解决大家的痛点。 这是 Python 3...

2020/07/02 23:52
2.9W
1
八张图彻底了解JDK8 GC调优秘籍-附PDF下载

简介 JVM的参数有很多很多,根据我的统计JDK8中JVM的参数总共有1853个,正式的参数也有680个。 这么多参数带给我们的是对JVM的细粒度的控制,但是并不是所有的参数都需要我们自己去调节的,我...

2020/06/23 07:16
4.4W
18
ABA问题的本质及其解决办法

简介 CAS的全称是compare and swap,它是java同步类的基础,java.util.concurrent中的同步类基本上都是使用CAS来实现其原子性的。 CAS的原理其实很简单,为了保证在多线程环境下我们的更新是...

2020/06/01 07:04
2W
3
不可忽视的Dubbo线程池

问题描述 线上突然出现Dubbo超时调用,时间刚好为Consumer端设置的超时时间。 有好几个不同的接口都报超时了 第1次调用超时,第2次(或第3次)重试调用非常快(正常水平) Dubbo调用超时的情...

2020/05/31 18:43
2.7W
12
我在实际工作中用的最多的 git 命令,全在这里了,使用简单!

前言 最近在工作中频繁用到git版本管理,期间也遇到了很多的问题,平时也会使用,但是,在没有遇到什么大的问题的时候,还是用的不是特别的熟练,最近,自己在玩的时候,发现了很多问题,同时...

2020/05/29 08:46
3.7W
18
关于加解密、加签验签的那些事

面对MD5、SHA、DES、AES、RSA等等这些名词你是否有很多问号?这些名词都是什么?还有什么公钥加密、私钥解密、私钥加签、公钥验签。这些都什么鬼?或许在你日常工作没有听说过这些名词,但是...

2020/05/12 18:26
2.8W
11
你还应该知道的哈希冲突解决策略

本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/5vxYoeARG1nC7Z0xTYXELA 作者:Xuegui Chen 哈希是一种通过对数据进行压缩, 从而提高效率的一种解决方法,但由于哈...

2020/05/06 11:03
3.5W
8
若用多重继承 一定要考虑mix-in混合类

为什么要用mix-in混合类 Python是面向对象的编程语言,它提供了一些内置的编程机制,使得开发者可以适当地实现多重继承,即一个子类可以继承多个父类,但是多重继承的设计经常被人诟病,因为...

2020/05/04 10:47
1.2W
1
学习JVM参数前必须了解的

本文来自: PerfMa技术社区 PerfMa(笨马网络)官网 JVM参数是什么 大家照相通常使用手机就够用了,但是针对发烧友来说会使用更专业的设备,比如单反相机,在单反里有好几个模式,P/A/S/M,其中...

2020/04/16 14:02
2.9W
7
聊一聊,单元测试应该测试什么?

系列导航 点击跳转到系列博文目录导航 开始 现在大公司越来越重视项目的单元测试,甚至明确要求项目的单元测试覆盖率不能低于某个值,足可见单元测试的重要性; 试想如果没有单元测试,那么如...

2020/04/14 10:29
2.3W
6
大数据、分布式都用到了的Netty,这几大核心知识你一定要看看!

1. Netty 基础 Netty 是一个高性能、异步事件驱动的 NIO 框架,它提供了对 TCP、UDP 和文件传输的支持,作为一个异步 NIO 框架,Netty 的所有 IO 操作都是异步非阻塞的,通过 Future-Listene...

2020/04/03 15:21
4.5W
8
干货|漫画算法:LRU从实现到应用层层剖析(第一讲)

今天为大家分享很出名的LRU算法,第一讲共包括4节。 LRU概述 LRU使用 LRU实现 Redis近LRU概述 第一部分:LRU概述 LRU是Least Recently Used的缩写,译为最近最少使用。它的理论基础为“最近使...

2020/04/01 10:07
2.3W
6
Spring 和 Spring Boot 之间到底有啥区别?

相信很多小伙伴和我一样,常用Spring 和Spring Boot 但是就是没有研究二者之间到底有什么区别? 今天就来大揭秘 ↓ 概述 对于 Spring和 SpringBoot到底有什么区别,我听到了很多答案,刚开始...

2020/03/29 09:59
3.6W
20
Java中的屠龙之术——如何修改语法树

在Lombok经常用,但是你知道它的原理是什么吗?,和Lombok经常用,但是你知道它的原理是什么吗?(二)两篇文章中介绍了关于Lombok的底层原理,其实总结为一句话来说就是在编译期通过改变抽象语...

2020/03/26 14:53
3.3W
5
恕我直言,我怀疑你没怎么用过枚举

我们是否一样? 估计很多小伙伴(也包括我自己)都有这种情况,在自学Java语言看书时,关于枚举enum这一块的知识点可能都有点 “轻敌” ,觉得这块内容非常简单,一带而过,而且在实际写代码...

2020/03/17 09:56
5.1W
29
进程无故消失的破案历程

本文来自 PerfMa社区 ;链接: https://club.perfma.com/article/62679 概述 前段时间公司有个系统的进程老是无故退出,在客户那边好好的,在家里服务器上老是出现,而且出现的时间也没啥规律...

2020/03/12 10:35
2.7W
7
JVM源码分析之jstat工具原理完全解读

概述 jstat是hotspot自带的工具,和java一样也位于JAVA_HOME/bin下面,我们通过该工具可以实时了解当前进程的gc,compiler,class,memory等相关的情况,具体我们可以通过jstat -options来看...

2020/03/10 15:21
2.8W
1
一位 Rust 开发者的 Go 初体验

作者介绍:Nick Cameron,PingCAP 研发工程师,Rust 语言核心成员。 感谢 Rust 语言中文社区伙伴们的翻译和审校: 翻译:尚卓燃 审校:吴聪、张汉东 过去几周,我一直在用 Go 语言编写程序。...

2020/03/05 21:05
6W
3
你一定想不到,实现一个Python+Selenium的自动化测试框架就这么简单!

首先你得知道什么是Selenium? Selenium是一个基于浏览器的自动化测试工具,它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分:Selenium IDE、Selenium We...

2020/03/05 14:53
3.2W
8
Python在计算内存时应该注意的问题?

我之前的一篇文章,带大家揭晓了 Python 在给内置对象分配内存时的 5 个奇怪而有趣的小秘密。文中使用了sys.getsizeof()来计算内存,但是用这个方法计算时,可能会出现意料不到的问题。 文档...

2020/03/02 17:54
1.3W
1

没有更多内容

加载失败,请刷新页面

【:: 是什么语法?】

一:简洁 方法引用分为三种,方法引用通过一对双冒号:: 来表示,方法引用是一种函数式接口的另一种书写方式 静态方法引用,通过类名::静态方法名, 如 Integer::parseInt 实例方法引用,通过...

2020/09/11 09:12
1.2K
0
【ElasticSearch搜索引擎】

什么是ElasticSearch Elasticsearch是一个实时的分布式(自身就支持了分布式)搜索和分析引擎。它可以帮助你用前所未有的速度去处理大规模数据。ElasticSearch是一个基于Lucene的搜索服务器。它...

2020/09/11 09:12
149
0
JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m

在linux环境下配置项目运行环境时,部署的人员都会分配一下内存,以保证程序正常的运行。其实在开发的时候(window系统),就已经涉及到内存分配了,只是这些参数有默认值,因此一直没有去重...

2020/09/10 21:13
1K
0
常用SQL语句总结

一、基础Sql语句 1、创建数据库:Create DataBase dbName; 2、删除数据库:Drop DataBase dbName; 3、创建新表:Create Table tabName(col1 type1 [not null] [primary key] ,col2 type...

2020/09/10 17:01
595
0
事务的隔离级别与所带来的问题

一、事务的基本要素(ACID)   1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的...

2020/09/10 17:00
555
0
C# 调用SendMessage刷新任务栏图标(强制结束时图标未消失)

本文参考C++改写 https://blog.csdn.net/dpsying/article/details/20139651 (该文章的坐标理解的有误解,会导致功能无效) SendMessage的移动鼠标里的坐标 是基于句柄内的 坐标,并不是屏幕坐标...

2020/09/10 17:00
608
0
MongoDB与SQL常用语法对应表

对于经常写SQL的同学,一开始写mongoDB的语法会十分不习惯,下表整理了常见的SQL语法,函数以及相应的MongoDB对应语法,仅供参考。 术语及概念 SQL MongoDB database database table collec...

2020/09/10 16:00
523
0
MySQL学习笔记十:游标/动态SQL/临时表/事务

一、游标 1.1、越界标志 在MySQL游标中,可以声明DECLARE CONTINUE HANDLER来操作1个越界标志。 语法:DECLARE CONTINUE HANDLER FOR NOT FOUND STATEMENT; 1.2、REPEAT方式 DELIMITER $$CR...

2020/09/10 15:01
578
0
mysql jdbc连接时的小问题java.sql.SQLException: Access denied for user root@localhost (using password: YES)

这次重新修改老程序时出现了上面的错误,排查过后最终找到问题所在:root帐户默认不开放远程访问权限,所以需要修改一下相关权限。 打开MySQL目录下的my.ini文件(win10默认安装在C:\Progra...

2020/09/10 11:00
1.6K
0
MySQL学习笔记九:索引

一、索引分类 1.1、索引的分类有以下几种: 1)单值索引:即一个索引只包含单个列,一个表可以有多个单列索引。 2)唯一索引:索引列的值必须唯一,但允许有空值。 3)复合索引:一个索引包含...

2020/09/09 21:00
481
0
详解JAVA面向对象的设计模式 (四)、外观模式

外观模式 Facade 外观模式内容相对简单,就不写新的例子了。本篇文章摘录自 id="外观模式的定义与特点">外观模式的定义与特点 外观(Facade)模式的定义:是一种通过为多个复杂的子系统提供一...

2020/09/09 18:01
438
0
MySQL学习笔记八:存储过程与自定义函数

一、存储过程 1.1、delimiter MySQL 中有一个命令是delimiter,作用是设置命令段的结束符号,即遇到这个所设置的结束符号后,按回车,则命令段就可以执行了。通常默认情况下,命令的结束符号...

2020/09/09 18:01
447
0
解决 WPF 绑定集合后数据变动界面却不更新的问题

解决 WPF 绑定集合后数据变动界面却不更新的问题 解决 WPF 绑定集合后数据变动界面却不更新的问题 独立观察员 2020 年 9 月 9 日 在 .NET Core 3.1 的 WPF 程序中打算用 ListBox 绑定显示一个...

2020/09/09 17:01
1K
0
从Oracle、SQLServer、Mysql等异构数据库高速抽取数据到GP(greenPlum)

greenplum数据连接配置,注意连接类型要选择PostgreSQL 新建数据连接,源选择异构的示例数据库SampleSource(H2数据库) 目标页签选择GP的数据连接和表 目标表更新方式:新增并更新数据到目标...

2020/09/09 17:00
733
0
代码重构之法——方法重构分析

方法重构分析 代码重构之法——方法重构分析 Intro 想要写出比较优秀的代码,需要时刻警惕代码中的坏味道,今天想写一篇文章介绍一下如何分析你的方法是不是需要考虑重构 一个方法通常有三个...

2020/09/09 14:00
532
0
image operating system windows cannot be used on this platform

运行Core3.1 项目的时候部署到Docker里面提示image operating system "windows" cannot be used on this platform 记录个问题 Core3.1 项目部署到Windows10 Docker的时候报这个错,原因就就是...

2020/09/09 13:00
1.5K
0
事务的本质和死锁的原理

仅以MySQL和spring为例,,本文不介绍事务和锁的概念。 本文使用伪代码表示方法代码,仅仅表达方法的意义及事务注解 〇、事务的形状 在我心中,事务一直是这个样子的 x轴是上锁的资源,y轴是...

2020/09/09 12:01
1.4K
0
行为型模式之解释器模式

在软件开发中,会遇到有些问题多次重复出现,而且有一定的相似性和规律性。如果将它们归纳成一种简单的语言,那么这些问题实例将是该语言的一些句子,这样就可以用“编译原理”中的解释器模式...

2020/09/09 11:01
457
0
行为型模式之备忘录模式

每个人都有犯错误的时候,都希望有种“后悔药”能弥补自己的过失,让自己重新开始,但现实是残酷的。在计算机应用中,客户同样会常常犯错误,能否提供“后悔药”给他们呢?当然是可以的,而且...

2020/09/09 10:01
432
0
状态模式

一、状态模式介绍 1、定义与类型 允许一个对象在其内部状态改变时,改变它的行为 类型:行为型 2、适用场景 一个对象存在多个状态(不同状态下行为不同),且状态可相互转换 3、优点 将不同的...

2020/09/09 10:00
404
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部