-
什么是可中断锁?有什么用?怎么达成?
所属栏目:[语言] 日期:2021-11-06 热度:105
在 Java 中有两种锁,一种是内置锁 synchronized,一种是显示锁 Lock,其中 Lock 锁是可中断锁,而 synchronized 则为不可中断锁。 所谓的中断锁指的是锁在执行时可被中断,也就是在执行时可以接收 interrupt 的通知,从而中断锁执行。 PS:默认情况下 Lock[详细]
-
从 Hotspot 虚拟机角度来分析 Java 线程开启
所属栏目:[语言] 日期:2021-11-06 热度:115
基本概念 Java 线程其实是映射到操作系统的内核线程上的,所以 Java 线程基本上也就是操作系统在进行管理。在 Linux系统中,线程和进程用的是同一个结构体进行描述的,只不过进程拥有自己独立的地址空间,而同一个进程的多个线程之间是共享资源的。 简单说[详细]
-
你清楚JDK版本相关特性吗?结果令人尴尬!
所属栏目:[语言] 日期:2021-11-06 热度:133
关于版本意识,尤其是初学者,很少有人会关注(很多三五年了,照样没怎么关注)。 为什么不关注呢?因为他们关注都是功能点或者知识点。 后来,逐渐的,一部分人在开发中就会遇到各种各样的问题,于是就开始关注版本了,而另外一部分人完全就是为了应付面试。[详细]
-
一文掌握 C++ 智能指针的应用
所属栏目:[语言] 日期:2021-11-06 热度:105
RAII 与引用计数 了解 Objective-C/Swift 的程序员应该知道引用计数的概念。引用计数这种计数是为了防止内存泄露而产生的。 基本想法是对于动态分配的对象,进行引用计数,每当增加一次对同一个对象的引用,那么引用对象的引用计数就会增加一次, 每删除一[详细]
-
看完后让你成为武松,手把手教你打败Java中的纸老虎
所属栏目:[语言] 日期:2021-11-06 热度:143
泛型,其实算是Java当中比较难的语法了,很多人一开始都对其一知半解,也很害怕阅读带泛型的源码,虽然看起来语法很难,但当你理解后会觉得很简单,其实只是一个纸老虎罢了。下面,我将会用非常简单易懂的方式带你去理解它,相信你在认真看完后会有非常大的[详细]
-
Gin 源码阅读之 Gin 与 Net/Http的联系
所属栏目:[语言] 日期:2021-11-06 热度:87
gin 是目前 Go 里面使用最广泛的框架之一了,弄清楚 gin 框架的原理,有助于我们更好的使用 gin。这个系列 gin 源码阅读会逐步讲明白 gin 的原理,欢迎关注后续文章。 gin 概览 想弄清楚 gin, 需要弄明白以下几个问题: request数据是如何流转的 gin框架到底[详细]
-
Java高级进阶之String实现源码详解
所属栏目:[语言] 日期:2021-11-05 热度:171
前言 String类的一个最大特性是不可修改性,而导致其不可修改的原因是在String内部定义了一个常量数组,因此每次对字符串的操作实际上都会另外分配分配一个新的常量数组空间; 那今天我们就来分析一波 一、String实现源码分析 1、String的定义 public final[详细]
-
在 Go 代码中如何绑定 Host?
所属栏目:[语言] 日期:2021-11-05 热度:116
在公司内部,为了安全,可能会有域名是需要绑定 host 才能访问的,如果是通过浏览器访问,我们会修改本机的 hosts 文件;然而,如果是要通过程序访问这样的域名,我们是否依然必须绑定 host 呢?答案当然是否定的,而且,依赖本地绑定的 host,程序到其他机器[详细]
-
.Net之SoapCore简单使用
所属栏目:[语言] 日期:2021-11-05 热度:89
最近在工作中,需要同时放出来WebAPI接口和支持Soap协议的WebService接口,在dotNetFramework时候玩过WebService,这可是好久没再碰过了,没想到现在居然遇到了。只好迎难而上。 介绍 本来是在ASP.NetCore中使用了组件SoapCore来使用Soap协议。 支持以下框[详细]
-
Java的多线程和线程池的使用
所属栏目:[语言] 日期:2021-11-05 热度:118
多线程大大提高程序运行效率,我们在开发过程中经常会开启一个线程来执行一些费时的任务。开启一个线程有4种方式,在下面的文章我将详细的去讲解。 继承Thread 继承Thread去执行任务,确实可以开启一个线程去执行任务,如果经常的去开启一些线程,也会导致[详细]
-
一文带你搞懂Python中Pickle模块
所属栏目:[语言] 日期:2021-11-05 热度:85
大家好,我是Go进阶者。今天给大家分享Python基础之pickle模块。 一、什么是pickle模块? 什么是持续化模块? 持续化模块:就是让数据持久化保存。 pickle模块是Python专用的持久化模块,可以持久化包括自定义类在内的各种数据,比较适合Python本身复杂数据的[详细]
-
Python项目实战篇之常用验证码标注识别
所属栏目:[语言] 日期:2021-11-05 热度:89
大家好,我是Snowball。 一、前言 上一篇文章小编给大家讲解了需求分析和实现思路,Python项目实战篇常用验证码标注和识别(需求分析和实现思路),这篇文章继续沿着上一篇文章的内容,给大家讲解下数据采集/预处理/字符图切割内容。 二、数据采集 数据采集:[详细]
-
Python 的协程和 goroutine 有什么区别?
所属栏目:[语言] 日期:2021-11-05 热度:186
最近在做后端服务python到go的迁移和重构,这两种语言里,最大的特色和优势就是都支持协程。之前主要做python的性能优化和架构优化,一开始觉得两个协程原理和应用应该差不多,后来发现还是有很大的区别,今天就在这里总结一下。 什么是协程 在说它们两者区[详细]
-
HarmonyOS JS FA 调用 Java PA 机制
所属栏目:[语言] 日期:2021-11-05 热度:92
实现效果 一、项目介绍 本项目使用模拟文件下载进度变化的功能来给你展示JS FA订阅JAVA PA的能力,订阅之后JS可以一直实时获取到JAVA返回的进度数据来更新JS界面的进度条。另外,文件模拟下载完成跳转到一个求积的页面,在这个页面输入两个数,点击求积按钮[详细]
-
Python暴力破解附近局域网WiFi密码
所属栏目:[语言] 日期:2021-11-05 热度:156
前言 本文将记录学习下如何通过 Python 脚本实现 WIFI 密码的暴力破解,从而实现免费蹭网。 无图形界面 先来看看没有图形界面版的爆破脚本。 WIFI爆破 import pywifi from pywifi import const import time import datetime # 测试连接,返回链接结果 def w[详细]
-
Go 和 Golang 有什么联系?
所属栏目:[语言] 日期:2021-11-05 热度:52
大家好,我是煎鱼。最近天气也冷了,掐指一算是招聘季了,无论是校招、社招、HR、面试官们都蠢蠢欲动。这不,我有一个朋友的 HR 朋友都有起名困难了,一看 Go 语言的工作说明(Job Description),发现各有不同。如下图:来自某招聘网站仔细一看,有叫 Go 的[详细]
-
HarmonyOS练习路之开发篇—Java UI框架
所属栏目:[语言] 日期:2021-11-05 热度:135
接上一篇文章上两篇文章已经介绍了大部分的Java UI组件 ,因为时间关系把一个内容分为了三个部分,这是最后一篇组件的介绍。分别介绍ListContainer、ScrollView和WebView。二、分类说明ListContainerListContainer是用来呈现连续、多行数据的组件,包含一系[详细]
-
Go 中的分段栈和连续栈的不同
所属栏目:[语言] 日期:2021-11-05 热度:70
# 分段栈在 Go 1.3 版本之前 ,使用的栈结构是分段栈,随着goroutine 调用的函数层级的深入或者局部变量需要的越来越多时,运行时会调用 runtime.morestack 和 runtime.newstack创建一个新的栈空间,这些栈空间是不连续的,但是当前 goroutine 的多个栈空间[详细]
-
Golang 语言简化 HTTP 客户端 GoRequest
所属栏目:[语言] 日期:2021-11-05 热度:144
1介绍GoRequest 是一个极简的 HTTP 客户端,作者灵感来源于 Node.js 库 SuperAgent。相比 Golang 标准库 net/http,GoRequest 使用起来更加简单。GoRequest 官方的口号是 像机枪一样发送请求。GoRequest 包含以下功能:支持 HTTP 请求方式:Get/Post/Put/He[详细]
-
Go 这样设置版本号 我们的项目也行
所属栏目:[语言] 日期:2021-11-05 热度:123
大家好,我是 polarisxu。项目中,特别是开源项目,会特别重视项目的版本号。有些项目,会把版本号写入源码中,每次升级都修改源码号。不过这不是特别好的方式。本文通过学习 Go 语言源码的处理方式来掌握它,并应用于自己的项目中。本文基于 Go1.17,不同[详细]
-
内核级Python调控Python编译器源码
所属栏目:[语言] 日期:2021-11-05 热度:71
python编译器在执行时,给它指定要执行的源码文件,或者说直接输入源码字符串就可以驱动脚本的执行流程,其基本框架如下:input层是python编译器用于获取源码的输入方式,事实上Python能够有多种方式将源码信息传递给编译器,例如:1,执行python -c 然后接[详细]
-
Python抽象基类的定义与应用
所属栏目:[语言] 日期:2021-11-05 热度:128
我们写Python基本不需要自己创建抽象基类,而是通过鸭子类型来解决大部分问题。《流畅的Python》作者使用了15年Python,但只在项目中创建过一个抽象基类。我们更多时候是创建现有抽象基类的子类,或者使用现有的抽象基类注册。本文的意义在于,了解抽象基类[详细]
-
使用 Aardio 配合 Python 快速开发桌面应用
所属栏目:[语言] 日期:2021-11-05 热度:89
1. 前言大家好,我是安果!我们都知道 Python 可以用来开发桌面应用,一旦功能开发完成,最后打包的可执行文件体积大,并且使用 Python 开发桌面应用周期相对较长假如想快速开发一款 PC 端的桌面应用,推荐使用 Aardio + Python 搭配的方式进行开发2. Aardio[详细]
-
Go语言之深入了解函数
所属栏目:[语言] 日期:2021-11-05 热度:160
概念在计算机程序设计中,函数其实是一种抽象概念,是一种编程接口;通过抽象,能够实现将复杂的系统分解成各种包装了复杂算法的不透明接口,方便彼此相互调用,实现分层、扩展性、便利性等等。具体来讲,函数一般是指一段独立的、可重复利用的程序逻辑片段[详细]
-
一篇文章带你清楚Go语言基础之数据类型
所属栏目:[语言] 日期:2021-11-05 热度:173
上篇文章中我们学习了Go语言基础中的变量,一篇文章带你了解Go语言基础之变量,这篇文章我们继续介绍Go语言基础知识,今天跟大家分享的是基础数据类型,一起来学习下吧~前言Hey,大家好呀,我是星期八,这次咱们继续学习Go基础之数据类型叭。iotaiota是Go中[详细]
