自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(71)
  • 收藏
  • 关注

原创 Html5新增了什么

HTML5 是下一代的 HTML, 将成为 HTML、XHTML 以及 HTML DOM 的新标准。

2023-03-20 18:56:56 684 1

原创 HTML5是什么?怎么学习HTML5?

HTML5是什么?相信这个问题并不容易回答,大多数人对于HTML5的概念仅仅是听说过而已,非要让他说出个所以然来,结果只能让你失望。

2023-03-17 19:55:24 982 1

原创 HTML5新特性、新增标签

localStorage是Web Storage的一种,让网页在浏览器端保存数据,存储容量比cookie更大localStorage长期保存数据,下一次访问该网站的时候,可以读取到之前保存的数据。也就是说,在Firefox中,cookie累计长度限制为4KB,超过的将被忽略IE7和之后的版本最后可以有50个cookie,Firefox最多50个cookie,chrome和Safari没有做硬性限制,IE 和 Opera 会清理近期最少使用的 cookie , Firefox 会随机清理 cookie。

2023-02-23 10:57:18 230

原创 Python的线程如何理解

一个ThreadLocal变量虽然是“全局变量”,但每个线程都只能读写自己线程的独立副本,互不干扰。ThreadLocal解决了参数在一个线程中各个函数之间互相传递的问题。

2022-11-19 15:48:22 142

转载 怎样学算法?

所以,我们可以理解:程序,由数据和算法有机地结合而成,其中,算法,即“计算方法”,是程序的灵魂。当然,除以上方法途径之外,你也可以通过课程高效学习算法,从基础出发,强化算法知识,啃完《算法导论》可能要1年,学习这一门课程你只需要1~2个月就能在算法面试脱颖而出了,适合想打好基础与提升自身高度的同学!由以上可以看到,实现一种需求,可以设计出多种算法,并且,算法在很大程度上决定了你写出的程序漂不漂亮、巧不巧妙,所以我们学习算法的目的是为了在写程序时能够设计出更优化的方案。

2022-11-18 15:56:44 355

原创 一文搞懂go plugin

要历数Go语言中还有哪些我还没用过的特性,在[Go 1.8版本]中引入的[go plugin]算一个。近期想给一个网关类平台设计一个插件系统,于是想起了go plugin_。Go plugin支持将Go包编译为共享库(.so)的形式单独发布,主程序可以在运行时动态加载这些编译为动态共享库文件的go plugin,从中提取导出(exported)变量或函数的符号并在主程序的包中使用。Go plugin的这种特性为Go开发人员提供更多的灵活性,我们可以用之实现支持热插拔的插件系统。。

2022-11-16 15:42:16 1184

原创 python django

2、查django 版本 python -m django --version。8、在浏览器访问输入:http://127.0.0.1:8000。templates 文件夹下面的*.html 文件使用。models、templates、views 文件。应用下创建路由映射文件,在项目映射文件中引入;helloapp 是创建的应用的名称。4、在项目路由映射文件中配置。3、创建django 项目。1、views.py 文件。应用项目views.py。views.py 文件。项目路由映射文件中引用。

2022-11-15 11:41:43 100

原创 Java中很重要的一个知识点——多线程

也就是说,当执行到Thread类中的run()方法时,会首先判断target是否存在,存在则执行target中的run()方法,也就是实现了Runnable接口并重写了run()方法的类中的run()方法。当创建此线程类对象时一个新的线程得以创建,并进入到线程新建状态。此处需要特别注意的是:当调用线程的yield()方法时,线程从运行状态转换为就绪状态,但接下来CPU调度就绪状态中的哪个线程具有一定的随机性,因此,可能会出现A线程调用了yield()方法后,接下来CPU仍然调度了A线程的情况。

2022-11-10 14:54:14 87

原创 大数据开发:Go中的方法

我们知道Go中没有继承,接口的用法也与Java中的用法大相径庭,很多适合,我们需要使用OO的思想来组织我们达到项目,但是将Java的oo思想在Go中会比较痛苦,Go中的方法和面向对象的类似,但是定义上也是很多初学者不好理解的,比如方法的定义竟然在结构体外部,组装起来看起来也很随意,其实Go只是有面向对象特性,其实不算是面向对象语言。

2022-11-09 15:45:53 217

转载 Java(JVM)内存模型 - Java中的内存管理

了解JVM内存模型,如果您想了解Java垃圾收集的工作,Java内存管理非常重要。今天我们将研究Java中的内存管理,JVM内存的不同部分以及如何监视和执行垃圾收集调优。目录[]

2022-11-08 14:45:56 91

转载 五大基本算法:贪心算法

所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,它所做出的仅仅是在某种意义上的局部最优解。贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。必须注意的是,贪心算法不是对所有问题都能得到整体最优解,选择的贪心策略必须具备无后效性(即某个状态以后的过程不会影响以前的状态,只与当前状态有关。)贪心算法可以简单描述为:大事化小,小事化了。对于一个较大的问题,通过找到与子问题的重叠,把复杂的问题划分为多个小问题。

2022-11-07 09:36:02 1234

转载 python面试题

px和em都是长度单位,区别是,px的值是固定的,指定是多少就是多少,计算比较容易。答案: rgba()和opacity都能实现透明效果,但最大的不同是opacity作用于元素,以及元素内的所有内容的透明度,而rgba()只作用于元素的颜色或其背景色。执行目录下所有的测试(所有的test*.py文件):运行测试的时候,测试程序会在所有以test开头的文件中查找所有的test cases(inittest.TestCase的子类),自动建立测试集然后运行测试。得利于其 非阻塞的方式和对epoll的运用,

2022-11-04 16:13:44 58

转载 Python教程:Python函数和Python闭包

原文链接:https://www.codevoila.com/post/51/python-tutorial-python-function-and-python-closure。

2022-10-21 15:00:55 166

原创 Dockerfile 命令详解

卷可以容器间共享和重用容器并不一定要和其它容器共享卷修改卷后会立即生效对卷的修改不会对镜像产生影响卷会一直存在,直到没有任何容器在使用它VOLUME让我们可以将源代码、数据或其它内容添加到镜像中,而又不并提交到镜像中,并使我们可以多个容器间共享这些内容。...

2022-07-25 15:21:01 95

原创 Java 线程池原理总结

线程池做的工作主要是控制运行的线程的数量,处理过程中将任务放入队列,然后在线程创建后启动这些任务,如果线程数量超过了最大数量超出数量的线程排队等候,等其它线程执行完毕,再从队列中取出任务来执行。...

2022-07-20 09:54:54 280

原创 JDBC和RestApi调用埋点

servlet也是一种接口规范,是j2ee的规范,由tomcat,jetty等容器实现的。JDBC做过java开发的都知道JDBC是干什么的,RestApi其实就是http的调用,http的调用就是调用第三方的服务的时候,第三方的服务并不是在自己的系统范围内,如果出现不稳定挂掉,对自身来说是不可控了,所以第三方服务而言对我们而言是非常的明感的。比如消息推送、短信发送、第三方支付接口等,因为服务是第三方提供,如果服务出现性能或可用性问题对于我方而言不可控,所以这类接口的稳定性是我们需要重点关注的对象。...

2022-07-19 09:46:07 150

原创 python日志零配置,安装即用

这个log其实是返回了一个日志文件的id,在需要停止向该日志文件中写入日志时,只需要调用remove函数将该文件的日志id作为参数传入即可停止向日志文件中写入日志。

2022-07-18 10:28:06 323 1

原创 docker是干什么的,docker常用命令

Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上,也可以实现虚拟化。

2022-07-16 14:52:52 197

原创 Docker-Compose 入门到实战详尽笔记

Docker-Compose容器编排的主要利用到YAML语法。学习YAML语法可以和JSON类比学习,例如JSON中有对象、数组等,利用YAML语法均可以表示出来。

2022-07-15 09:19:34 402

原创 Docker换源与镜像拉取

Docker在安装后,我们需要前往Docker Hub上拉取(及时就是下载的意思)镜像。

2022-07-14 09:40:23 2732

原创 详解docker容器状态转换管理命令

docker容器有三种状态运行、停止、暂停,镜像可以创建、运行容器,镜像和容器也可以转换成tar压缩包进行存储。本文为大家介绍容器的状态转换命令及镜像创建运行容器、tar包导入导出相关的命令及使用场景。...

2022-07-13 09:34:58 403

原创 详解docker镜像管理命令

由于大家都知道的原因,从国外的docker 仓库中pull镜像的下载速度实际上是很慢的。国内的一些一线厂商以及docker官方都在国内免费提供了一些docker镜像仓库,使用国内的镜像仓库下载速度会有很大的提升。...

2022-07-12 10:22:22 307

原创 你可能用到的windows网络操作命令,都在这里了

windows操作系统中的网络操作主要是网络的配置、网络连接的监听、网络的路由跟踪、DNS服务器解析等等。

2022-07-08 11:35:44 271

转载 JavaScript扩展原型链浅析

上文对原型和原型链做了一些简单的概念介绍和解析,本文将浅析一些原型链的扩展。利用原型是对象的特性,实例化对象的时候,继承多个构造函数的属性和方法兼容性:支持目前以及所有可想象到的浏览器 (IE5.5 都可以使用)使用Object.createObject.createObject.create() 方法创建一个新对象,使用现有的对象来提供新创建的对象的 proto兼容性:支持当前所有非微软版本或者 IE9 以上版本的浏览器使用setPrototypeOf兼容性:不支持 IE8 以

2022-07-01 09:23:07 71

转载 python 自定义异常/raise关键字抛出异常

在编程过程中合理的使用异常可以使得程序正常的执行。有直接抛出异常的形式,也能通过捕获异常加入异常时的业务逻辑处理。使用raise关键字抛出异常案例raise关键字抛出异常主要是为了在特定的条件。在调用throw_exception函数后,传入值为10时则抛出下面的异常。使用try…except捕获异常案例使用try关键字捕获异常,可以在异常处理时加入自己的业务处理逻辑不至于使异常直接抛出。调用catch_exception函数进行异常处理后,不会将异常抛出而是进...

2022-06-28 15:17:40 3264

转载 python 如何在多层循环中使用break/continue

关于break/continue这两个关键字在平常的使用过程中一直比较迷糊。好不容易理解了吧,过段时间不使用好像忘记了什么。这个问题也是很多初学者比较容易提及的问题。先通过一个简单的单层循环来了解一下这两个关键字的使用。下面是执行以后的结果展示。根据执行完成的结果可以看出,n = 4时,当前的n值没有被打印,但是它还是往下执行了n = 5以后的打印,这就是continue的作用。而执行到break的关键字时就直接退出for循环了不会往下继续执行。同样的方式,将单层循环这次变成双层循环看一下效果。

2022-06-15 15:07:40 567

转载 程序员实用数据结构和算法基础,一定要收藏!

各位程序员同学们,这篇文章将为您分享一个全面的数据结构和算法基础的主题列表,希望对各位所有帮助。数组 这简直是世界上最常用的数据结构,没有数组的知识,程序员肯定会嘲笑你。对于阵列技能,您应该关注的是:搜索:线性搜索和二分搜索绝对是必不可少的知识。排序:学习一些排序算法以及它们之间的权衡。 您可以从冒泡排序和选择排序等简单的排序开始,但绝对应该具备插入排序、归并排序和快速排序的知识。多维数组:不要只局限于一维数组,你也可以使用二维数组,俗称矩阵,但你很少超越二维数组(除非你在数据科学领域)。链表

2022-06-05 11:19:01 102

转载 java的容器支持cpu

之前一直很好奇,java是如何根据容器的外部设置的cpu限制来做自适应的。下面就跟随openjdk,看看系统是如何应对cgroup cpu设置的。代码位置在jdk/src/hotspot/os/linux/cgroupSubsystem_linux.cpp的active_processor_count的方法。目前cpu的设置,主要是3种使用方式,第一种是设置quota,第二种是设置share比率,第三种是设置cpu具体的核。以下就围绕着三种情况进行展开。以下原来来自openjdk18quota模式

2022-05-31 09:51:40 223

转载 JavaScript实现十大排序算法(图文详解)

冒泡排序排序的效果图解法当前解法为升序冒泡排序的特点,是一个个数进行处理。第i个数,需要与后续的len-i-1个数进行逐个比较。为什么是 `len-i-1`个数?因为数组末尾的i个数,已经是排好序的,确认位置不变的了。为什么确认位置不变,因为它们固定下来之前,已经和前面的数字都一一比较过了。function bubbleSort(arr){ const len = arr.length; for(let i = 0; i < len - 1; i++){

2022-05-25 09:24:18 2434

转载 普通人如何理解递归算法

当人们提到“递归”一词,不知道如何理解它,也有人会问递归和迭代有什么区别?首先可以从定义上入手来分析,递归是自身调用自身的函数进行循环、遇到满足终止条件的情况时逐层返回来结束。迭代则是函数内某段代码实现循环,循环代码中参与运算的变量同时是保存结果的变量,当前保存的结果作为下一次循环计算的初始值。如何实现递归算法的设计方法?递归算法即是一种有效的算法设计方法,也是一种有效的分析问题的方法,递归算法求解问题的基本思想是:对于较为复杂的问题,把原问题分解成诺干个相对简单且类同的子问题,这样,原问题就可

2022-05-24 09:26:16 252

原创 Redis数据持久化

思维导图AOF日志如何实现:写后日志,Redis先执行命令,把数据写入内存,然后记录日志(记录的是修改数据集的命令)为什么要先执行命令再记日志避免额外的检查开销AOF日志文件中保存的是Redis执行修改数据集的命令。在写入日志文件时并不会检查这些命令是否有语法错误,所以,如果先写入日志在执行命令的话,日志中可能记录的就是错误的命令,当Redis使用日志进行数据恢复时,就会出错。Redis 使用写后日志这一方式的一大好处是,可以避免出现记录错误命令的情况。不会阻塞当前写操作

2022-05-17 10:41:43 202

转载 Java的引用到底是什么?和C/C++的指针有什么区别?

点进这篇文章的朋友们,如果对「指针」没有概念,那么请面壁思过。你不是一个正统的程序员,你是野路子,是faker,在技术这条路上注定走不远。闲话少述,正文开始。1、从操作符说起要看「引用」和「指针」的区别,首先要看操作符。在c/c++中,指针相关的操作符有3个:**& -> *** 在Java中,引用相关的操作符有1个:.What,引用就一个操作符???那我们就来看下,操作符各有什么作用注:指针使用结构体来举例,便于和引用的对象来比较1.1、C/C++中指

2022-05-10 10:38:59 158

转载 逆向进阶,利用 AST 技术还原 JavaScript 混淆代码

什么是 ASTAST(Abstract Syntax Tree),中文抽象语法树,简称语法树(Syntax Tree),是源代码的抽象语法结构的树状表现形式,树上的每个节点都表示源代码中的一种结构。语法树不是某一种编程语言独有的,JavaScript、Python、Java、Golang 等几乎所有编程语言都有语法树。小时候我们得到一个玩具,总喜欢把玩具拆解成一个一个小零件,然后按照我们自己的想法,把零件重新组装起来,一个新玩具就诞生了。而 JavaScript 就像一台精妙运作的机器,通过 AST

2022-04-29 15:34:53 4933 5

转载 Java并发编程系列--并发基础

java从诞生之日起,就明智的选择了内置对多线程的支持。几个概念在开始写并发之前,先介绍几个简单的概念: 并发和并行: 并发指多个任务交替的执行,并行指多个任务同时执行 临界区:表示一种公共资源或者共享数据,一次只能有一个线程访问它 JMM的特性: 原子性,可见性,有序性 程序、进程、线程 程序:具有某些功能的代码。 进程:操作系统进行资源分配和资源调度的基本单位。进程是程序执行的实体。 线程:轻量级的进程,程序执行的最小单位,线程中含有独立的计

2022-04-28 08:45:16 152

转载 Java并发编程系列之二线程基础

上篇文章对并发的理论基础进行了回顾,主要是为什么使用多线程、多线程会引发什么问题及引发的原因,和怎么使用Java中的多线程去解决这些问题。正所谓,知其然知其所以然,这是学习一个知识遵循的原则。推荐读者先行查看并发编程的理论知识,以便可以丝滑入戏。本篇文章重点在于Java中怎么去使用多线程,和多线程的一些相关概念和操作,及怎么优化多线程。在Java中每个对象都有其生命周期,线程同样不例外,也有其生命周期。一、线程生命周期线程的几种状态转换1、新建(New)新创建了一个线程对

2022-04-27 09:33:46 251

转载 浅谈Vue开发最佳实践—事项清单

一 、通过云开发平台快速创建初始化应用1.创建相关应用模版请参考链接:彻底学会快速部署vue框架,一篇就够了2.完成创建后就可以在github中查看到新增的Vue.js 仓库二 、 本地编写《开发跨平台桌面应用》项目1.将应用模版克隆到本地● 首先假定你已经安装了Git、node,没有安装请移步node官网进行安装。克隆项目:git clone + 项目地址● 进入项目文件cd Vue.js● 切换到feature/1.0.0 分支上git checko

2022-04-25 14:16:24 360

转载 十分钟学会Golang开发gRPC服务

gRPC是Google发起的一个开源RPC框架,使用HTTP/2传输协议,使用Protocol Buffers编码协议,相比RESTful框架的程序性能提高不少,而且当前流行的编程语言基本都已经支持。Golang开发gRPC应用程序的套路也已经很清晰,这篇文章就来做一个简单的介绍,算是入门。1、安装protoc这个工具也称为proto编译器,可以用来生成各种开发语言使用proto协议的代码。下载地址:Releases · protocolbuffers/protobuf · GitHub

2022-04-20 14:59:53 1447

原创 Android反编译(逆向)教程

在网上搜索Android反编译教程,搜出来的文章要么是抄袭的,要么是太过与简单,经过自己的实践和摸索,我在这里记录下如下反编译一个Apk并修改一些资源文件,比如App名字、启动界面等,然后重新打包成apk,你可以参照这个教程修改游戏里的金币(估计没这么简单)。工具还是常用的三个工具:Apktool、dex2jar、jd-guiApktool下载地址:ApktoolLinux下安装教程:1. 下载Linux wrapper script(鼠标右键另存为apktool)2....

2022-04-18 09:23:42 2861

转载 Go是否支持增量构建?

Go语言以编译速度快闻名于码农界。这缘于Go在设计之初就选择抛弃其祖辈C语言的头文件包含机制,选择了以包(package)作为基本编译单元。Go语言的这种以包为基本构建单元的构建模型使得依赖分析变得十分简单,避免了C语言那种通过头文件分析依赖的巨大开销。在我的专栏《改善Go语言编程质量的50个有效实践》中,我也给出了Go编译速度快的三点具体原因,包括:Go要求每个源文件在开头处显式地列出所有依赖的包导入,这样Go编译器不必读取和处理整个文件就可以确定其依赖的包列表; Go要求包之间不能存在循环依赖..

2022-04-18 09:22:04 297

转载 Python速查表汇总

来源中文版(呆鸟):GitHub - jaystone776/python-data-science-cheatsheet: Python数据科学速查表英文版:https://www.datacamp.com/community/data-science-cheatsheets瞄一眼一共14份,下面是部分截图获取蓝奏云:python速查表补充因为通过该图查找相关知识点相对困难,答主把速查表的所有内容整理分类做好了放在博客上,方便快速找到对应内容。Python基

2022-04-15 09:24:28 567

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除