自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C/C++内存泄漏的原因以及怎么解决

解决C/C++的内存泄漏问题

2022-11-01 22:12:02 1656 2

原创 Android中的m,mm,mma,mmm的用法与区别

Android编译的常用命令,如mm,mma

2022-11-01 21:41:12 4211

原创 git reset --hard详解

在使用git开发的过程中,经常会使用到git reset这个命令。比如回退到上一个版本,使用命令:git reset HEAD^或者git reset --hard HEAD^这时就会有一些小伙伴会问了,加**–hard和不加有什么区别?加–hard时,不但将本地的HEAD指针指向了上一个版本,重置了暂存区的内容,而且还修改重置了本地工作区的内容**

2022-09-09 09:20:19 34935

原创 git的基础使用

git作为一个优秀的版本管理已经成为企业不可获取的技能,今天让我们先看一下git最重要的几个命令吧git add .此命令用来将该目录下所有的修改添加到缓存区。git commit此命令将暂存区中的内容提交到本地仓库中。git remote操作远程仓库,在实际使用中,如果需要操作远程仓库需要添加你的ssh地址和仓库名。例如:下面展示一些 内联代码片。// An highlighted blockgit remote add gerrit ssh://ming.xiao@163.com/仓

2022-09-08 19:16:10 304

原创 StringTable中的intern方法

StringTable中的intern方法,主动将串池中还没有的字符串对象放入串池。jdk 1.8中是将这个字符串对象尝试放入串池,如果串池中有该对象则不会放入,如果没有则将这个字符串对象放入串池。方法并将串池中的字符串返回。jdk 1.6将这个字符串对象尝试放入串池,如果串池中有该对象则不会放入,如果没有将会把此对象复制一份,并将复制后的对象放入串池中。会把串池中的对象返回。案例分析//jdk 1.8public static void main(String[] args){ in

2021-10-26 15:36:45 214

原创 JVM内存——虚拟机栈和本地方法栈

虚拟机栈虚拟机栈是用于描述java方法执行的内存模型。每个java方法在执行时,会创建一个“栈帧”,栈帧的结构分为“局部变量表、操作数栈、动态链接、方法出口”几个部分。通常说的“堆内存、栈内存”中的栈内存指的就是虚拟机栈,确切的说,指的是虚拟机栈的栈帧中的局部变量表,因为这里存放了一个方法的所有局部变量。虚拟机栈的特点线程私有,每个线程都有自己独立的虚拟机栈。虚拟机栈的StackOverflowError若单个线程请求的栈深度大于虚拟机允许的深度,则会抛出StackOverflowError(栈

2021-10-23 16:08:41 973

原创 编程笔记(小米)||约瑟夫环-围圈抽排报数

小明参加公司团建,100个同事围坐一圈,裁判开始顺时针从头发牌,每发三张白牌就会发出一张黑牌,抽到黑牌的人出局,每局第N个抽到黑牌的将获得奖励。问小明想获得奖品,需要坐在最开始100人里第几个位置。import java.util.Scanner;public class MiYuesefu { public static void main(String[] args) throws Exception { Scanner sc = new Scanner(System.in

2021-09-09 17:21:22 172

原创 Activity的生命周期,按home键,back键,功能键,弹窗之后的生命周期过程

Activity的生命周期1. onCreate()这个方法在活动第一次被创建时调用,在这个方法中完成活动的初始化操作,比如加载布局、绑定事件等。2. onStart()这个方法在活动由不可见变为可见的时候调用3. onResume()这个方法在活动准备和用户进行交互的时候调用。此时的活动一定位于返回栈的栈顶,并且处于运行状态。4. onPause()这个方法在系统准备去启动或者恢复另一个活动的时候调用。我们通常会在这个方法中将一些消耗CPU的资源释放掉,以及保存一些关键数据,但这个方法的执

2021-09-01 14:42:37 2240 4

转载 Android活动的四种启动模式及各自应用场景

Android活动的四种启动模式1.默认启动模式standard:该模式可以被设定,不在manifest设定时候,Activity的默认模式就是standard。在该模式下,启动的Activity会依照启动顺序被依次压入Task中:2.栈顶复用模式singleTop:在该模式下,如果栈顶Activity为我们要新建的Activity(目标Activity),那么就不会重复创建新的Activity。3.栈内复用模式singleTask:与singleTop模式相似,只不过singleTop模式

2021-08-25 12:07:19 1859 1

原创 SSH,SSL和TLS

什么是SSH?简单说,SSH是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。最早的时候,互联网通信都是明文通信,一旦被截获,内容就暴露无疑。1995年,芬兰学者Tatu Ylonen设计了SSH协议,将登录信息全部加密,成为互联网安全的一个基本解决方案,迅速在全世界获得推广,目前已经成为Linux系统的标准配置。SSH只是一种协议,存在多种实现,既有商业实现,也有开源实现。本文针对

2021-08-23 17:17:11 2685 1

原创 奈氏准则和香农公式

奈氏准则在任何信道中,码元传输速率(取决于信号的发送速率)都是有上限的,否则就会出现码间串扰的问题,使接收端对码元的识别成为不可能。理想低通信道下的极限数据传输率 =2Wlog2V (b/s)W是带宽,V是(几种码元/码元的离散电平数目)如果信道的频带越宽,也就是能够通过的信号高频分量越多,那么就可以使用更高的速率传送码元而不出现码间串扰。香农公式C=W•log2(1+S/N)W为信道的带宽S为信道内所传信号的平均功率N为信道内部的高斯噪声功率。香农公式表明信道的带宽或信道中的

2021-08-22 17:00:54 1352

原创 图文看懂Python中浅拷贝copy()和深拷贝deepcopy()的区别

一文看懂浅拷贝copy()和深拷贝deepcopy()的区别关于浅拷贝和深拷贝想必大家在学习中遇到很多次,这也是面试中常常被问到的问题,借由这个时间,整理一下浅拷贝和深拷贝的关系先从一个简单的例子入手吧定义一个数组的嵌套结构a = [1,2,3,[4,5,[6]]]看一下它的gable frame...

2021-08-16 14:31:58 357 3

原创 String,StringBuffer,StringBuilder的使用和区别

近期刷题的字符串拼接问题,对常使用的StringBuilder做个整理。StringJava基础重要的类,提供了构造和管理字符串的各种逻辑。是典型的Immutable(不可变)类,被声明成为final class,所有属性也是final的。具有不可变性,拼接,裁剪字符串等动作都会产生新的String对象(这也是导致字符串拼接不使用String的原因,会导致内存溢出)。如果字符串操作频繁,相关操作的效率往往对应用性能有明显的影响。StringBuffer为解决String类拼接产生太多中间

2021-08-01 18:10:40 140

原创 Java.long.Long.parseLong()方法详解

Java.long.Long.parseLong()简单来说:是将一个字符串转换成数字的方法。API解释:public static long parseLong(String s,int radix) throws NumberFormatException。将 string 参数解析为有符号的 long,基数由第二个参数指定。字符串中的字符必须为指定基数中的数字(由 Character.digit(char, int) 是否返回一个非负值来确定),除非第一个字符为 ASCII 字符的减号 ‘-

2021-08-01 17:23:17 23627 1

原创 第一个Mybatis程序中报“空指针”异常

《第一个Mybatis程序》中如果报“空指针”异常,这是因为你的MybatisUtils.java包中已经在外部声明过sqlSessionFactory。修改方法:把MybatisUtils.java文件中的try{}中的代码块的第三句改成即去掉原先的SqlSessionFactory声明。...

2021-07-27 12:03:27 369

原创 synchronized与Lock的区别

Lock是显式锁(手动开启和关闭锁),synchronized是隐式锁,出了作用域就会自动释放。Lock只有代码块锁,synchronized有代码块锁和方法锁。使用Lock锁,JVM将花费较少的时间来调度线程,性能更好。并且具有更好的扩展性(提供更多的子类)优先使用顺序:Lock > 同步代码块 > 同步方法...

2021-07-26 13:34:47 178

原创 什么是死锁?死锁发生的条件?解决的办法?

死锁的定义:多个线程各自占有一些共享资源,并且互相等待其他线程占有的资源才能运行,而导致两个或者多个线程都在等待对方释放资源,都停止执行的情形,某一个同步块同时拥有"两个以上对象的锁"时,就可能会发生"死锁"的问题。简单来说,死锁就是多个进程在运行过程中因为抢夺资源而造成的一种僵局,使计算机程序停止运行的一种情况。举个例子:两个小孩A和B,小孩A拥有一个小汽车,小孩B拥有一个玩具枪,此时两个小孩都不放弃自己的玩具的同时要去抢夺对方的玩具,这就形成了一种僵持局面。产生死锁的四个必要条件:互斥条件

2021-07-26 11:32:17 1036

原创 Java静态代理模式以及与Thread的比较

静态代理模式:1.真实对象和代理对象都要实现同一个接口2.代理对象代理真实对象好处:代理对象可以做很多真实对象做不了的事情真实对象专注做自己的事情代码案例分析及与Thread类的比较:public class StaticProxy { public static void main(String[] args) { You you = new You();//创建一个结婚对象,“你” //使用Thread做对比 new Threa

2021-07-25 10:08:39 179

原创 Java多线程案例----龟兔赛跑

Java多线程案例----龟兔赛跑代码案例:public class Race implements Runnable{ public static String winner; @Override public void run() { for (int i = 0; i <= 100; i++) { //模拟兔子睡眠,当兔子跑到一半的时候让其睡50毫秒 if (Thread.currentThread()

2021-07-24 16:41:43 374

原创 Java多线程创建方法及案例分析

Java多线程创建方法及案例分析创建线程的三种方法继承Thread类实现Runnable接口实现Callable接口三种实现多线程的方法中,Thread和Runnable是我们常用的方法,Callable在实践中使用较少,做了解。方法一:继承Thread类自定义线程类继承Thread类重写run() 方法,编写线程执行体创建线程对象,调用**start()**方法启动线程代码案例://创建线程方式1:继承Thread类,重写run方法,调用start开启线程//线程开启不一定

2021-07-24 16:03:45 207

转载 TCP和UDP的区别

TCP和UDP的区别1.TCP是面向连接的,发送数据前必须先建立连接(TCP的三次握手);UDP是无连接的,即发送数据前不需要建立连接。2.TCP连接只能是点对点的(一对一);UDP支持一对一、一对多、多对一和多对多的交互通信。解释:每一条TCP连接有两个端点,这个端点叫做套接字(socket)或插口。什么是套接字?端口号拼接到IP地址即构成了套接字。所以说,每一条TCP连接唯一地被通信两端的两个端点(即两个套接字)所确定。3.TCP提供可靠交付的服务,通过TCP连接传送的数

2021-06-23 17:07:46 233

原创 HTTP和HTTPS的区别是什么?

HTTP和HTTPS的区别是什么?HTTPS简单来说:HTTPS是安全超文本协议,在HTTP基础上具有更强的安全性,HTTPS是使用TLS/SSL加密的HTTP协议。HTTPS在申请证书上需要使用CA申请证书。HTTPS 工作在443端口,而HTTP默认工作在80端口。SSL和TLSSSL(Secure Sockets Layer)安全套接层。它是位于HTTP等各种应用层协议之下,TCP/IP层之上的一个协议,为数据通信提高安全支持。主要任务是提供私密性,数据完整性和身份认证。

2021-06-18 11:29:03 256 2

原创 剑指offer刷题笔记||字符串的反转

剑指offer刷题笔记||344.字符串的反转题目描述:解法:使用双指针class Solution { public void reverseString(char[] s) { char a; int left = 0; int right = s.length-1; while(right > left){ a = s[left]; s[left] = s[right]

2021-06-17 15:19:29 189

原创 Java基础||“==”和“equals”的区别是什么?

谈谈“==”和“equal”的区别是什么?==:对于基本类型是进行值的比较,对于引用类型是进行引用的比较equals:equals默认是进行引用的比较,一般情况,我们需要将equals进行重写,变成值的比较代码示例如下:String x = "HelloWorld";String y = "HelloWorld";String z = new String("HelloWorld");System.out.println(x==y); // trueSystem.out.println(x=

2021-06-15 22:07:33 1170 1

转载 5G网络架构(接入网,传输网,核心网)

前一段时间自己一直在做某市的5G试点项目,对5G的无线接入网相关技术有了更深入的认识。因此,希望通过无线接入网为线索(行话叫锚点),帮大家梳理一下无线侧接入网+承载网+核心网的架构,这里以接入网为主,其他两个网络的很多技术细节由于笔者研究的并不足够深入,因此以帮助大家入门为主。在我们正式讲解之前,我想通过这张网络简图帮助大家认识一下全网的网络架构,通过对全网架构的了解,将方便您对后面每一块网络细节的理解。这张图分为左右两部分,右边为无线侧网络架构,左边为固定侧网络架构。无线侧:手机或者集团客户通过基

2021-06-08 21:40:47 18227 5

原创 2021腾讯春季校招面经

今天腾讯校招实习生电话面试,总结一下今天问到的问题:1.首先是一个自我介绍。2.数据储存如何理解?3.你是如何进行数据库设计的?4.你平常用的缓存技术有哪些?5.你所熟知的数据引擎有哪些?它们的区别是什么?6.谈谈你对事务的理解?7.MySQL用户数据量大的时候你是怎么进行优化的?问你常用的语言是什么?答:C++8.那你说一下C++的语言特性?9.关于继承你是怎么理解的?10.C++中的排序算法有哪些?挑一个讲一下它的原理?11.堆和栈

2021-04-09 17:35:52 327 1

原创 什么是脏读?不可重复读?幻读?如何解决?

MySQL笔记(二)||什么是脏读?不可重复读?幻读?如何解决?朋友最近面试美团,被面试官问到数据库的幻读问题,自己正好最近复习到这,做个笔记整理一下数据库的三大特征以及隔离级别。一.先来回顾一下什么是事务,以及事务的四大特征事务事务是一个不可分割的数据库操作序列,也是数据库并发控制的基本单位,其执行的结果将使数据库从一种一致性状态变迁到另一种一致性状态。事务是逻辑上的一组操作,要么全部执行,要么全部不执行事务简单的来说,就是要么全部执行,要么全部不执行,成为一个最小的原子单位。事务的基本步骤:

2021-04-05 11:35:37 9009 2

原创 Win10连接上了wifi,但显示Internet无网络访问权限的解决方法

Win10连接上了wifi,但显示无网络访问权限的解决方法方法一:重新自动获取一下ip和DNS,步骤如图:1.右击wifi图标,打开网络和共享中心(先连接一下wifi)2.点击你要连接的wifi,查看属性3.点击自动获取IP和DNS按钮4.点击确定,查看是否可用。方法二:关闭电脑对于网络的自动节电模式如果电脑连接WiFi有网,出去有事放了一会没用,回来发现无internet,这种情况很可能是电脑的网络适配器中的wireless lan开启了节能模式关闭节能模式具体操作如下1.右

2021-03-22 09:45:46 30321 8

原创 剑指offer刷题笔记||12.矩阵中的路径(回溯法)

题目描述基本原理是建立深度优先搜索算法函数,将从每个位置开始的上下左右都遍历搜索一遍,如果该条路径不通,返回dfs函数返回false,遍历到下一个位置当作起始点搜索,如果遍历结束,仍未找到符合题目的路径,则返回false。代码示例class Solution { //方法判断路径是否存在 public boolean exist(char[][] board, String word) { char[] array = word.toCharArray();

2021-01-07 12:21:16 152

原创 细菌觅食算法

细菌觅食算法BFO算法,即细菌觅食算法,是受大肠杆菌社会觅食行为启发而提出的一种新型仿生优化算法。该算法由Passion在2002年首次提出。BFO主要由四个过程控制:群居、趋化、繁殖和消除/扩散。在BFO算法中,目标是找到养分梯度(J(小组中的虚拟细菌实际上是一种试验解决方案(可称为搜索代理),它在功能表面移动以找到全局最优解,而细菌是由单个细菌(细胞)组成的。这里,我们确定细胞作为细菌的位置载体。具体情况如下:群居一组大肠杆菌细胞排列成一个移动环,通过发送信号(包括细胞到细胞和细菌到细菌)来形

2020-11-30 10:47:51 2368

原创 Leetcode刷题笔记||07.整数反转||[::-1]及[:0:-1]的解释

Leetcode刷题笔记||07.整数反转||[::-1]及[:0:-1]的解释题目描述我的思路是将整数先转换成字符串,然后再进行反转,下面解释一下我代码中用到的两个语句:[::-1]和[:0:-1][::-1]表示将字符串直接进行反转,例如:a = '12345'print(a[::-1])//结果为:54321而[:0:-1]表示将字符串的第一位去掉(因为原题中要考虑负整数),剩下的进行反转,例如:a = '-12345'print(a[:0:-1])//结果为:54321

2020-08-03 18:28:57 573

原创 剑指offer刷题笔记||03.数组中重复的数字(python)

剑指offer刷题笔记||03.数组中重复的数字(python)题目描述:解题思路因为题目只要求输出其中的一个重复数,所以可以对其经进行排序,然后用第一个数对后面进行比较,找到重复值便返回即可。我的代码:class Solution(object): def findRepeatNumber(self, nums): """ :type nums: List[int] :rtype: int """ nums

2020-07-15 16:51:16 282

原创 剑指offer刷题笔记||09.用两个栈实现队列(python)

剑指offer刷题 09.用两个栈实现队列题目描述:我的做法:class CQueue(object): def __init__(self): self.A = [] self.B = [] def appendTail(self, value): """ :type value: int :rtype: None """ return self.A.append(v

2020-07-14 21:02:08 157

原创 Leetcode刷题笔记||67.二进制求和_python(极简)进制转换

leetcode二进制求和题目描述:思路先将二进制转换为十进制相加,再将转换为二进制。pyhon 中也提供了进制相互转换的函数,下面先介绍一下用到的两个进制转换函数示例:二进制转十进制,int(a,b)形式,需要注意的是a是字符串,b代表你输入的字符串的值是几进制//二进制转十进制a = str (100)b = int (a,2)print(b)//打印结果为3示例:十进制转二进制bin(a)形式,a是int形//十进制转二进制c = bin(3)print(c)//打

2020-07-11 11:32:32 258

原创 剑指offer刷题笔记||04.二维数组中的查找(Python,Java)

二维数组中的查找题目描述解题思路:可以选择从右上角或从左下角开始寻找,以从左下角为例,设左下角值为a,a往上移动,数值变小;a往右移动,数值变大。当a>target时,上移,当a<target时,右移。代码示例://从左下角开始查找class Solution(object): def findNumberIn2DArray(self, matrix, target): """ :type matrix: List[List[int]]

2020-07-10 10:43:53 213

原创 Leetcode刷题笔记||724寻找数组中心索引_python(击败100%用户)

leetcode刷题第724题(python):寻找数组中心索引。这个要注意中心索引是0和数组中关于负数的处理。原题:我的解法:class Solution(object): def pivotIndex(self, nums): """ :type nums: List[int] :rtype: int """ sums = sum(nums) sum1 = 0 for i i

2020-07-09 12:03:26 261

原创 机器学习基础||knn算法对鸢尾花数据集分析

鸢尾花数据集分析1.数据集下载和数据集划分2.可视化分析3.KNN和决策树对数据集进行分类1.数据集下载和数据集划分2.可视化分析3.KNN和决策树对数据集进行分类

2020-07-06 16:06:14 1974

原创 anaconda安装sklearn,pandas,seaborn第三方库

anaconda安装sklearn,pandas,seaborn第三方库初入机器学习的小白肯定会学习第三方库sklearn,sklearn是机器学习中常用的第三方库,里面的API较为全面,对常用的机器学习算法进行了封装,包括分类,回归,降维,聚类等方法,并且还集成了几个简单的数据集,比如iris,breast cancer等,下面来看一下用anaconda安装常用的第三方库的过程:安装sklearn库打开anaconda prompt 激自己的虚拟环境输入:// 安装sklearnconda in

2020-06-26 21:22:30 18751 1

原创 Python笔记||matplotlib作图不显示label

matplotlib作图不显示label用matplotlib作图时候,已经设置了plt.plot中设置了label值,但是在show时候却显示不出标签。以运行下面代码为例:// 线性回归import numpy as npimport matplotlib.pyplot as plttrain_x=np.linspace(-1,1,100)train_y=2*train_x + np.random.randn(*train_x.shape)*0.3#显示模拟数据点plt.plot(tra

2020-06-26 11:17:58 24009 10

原创 Python中的get()方法

Python中的get()方法的使用d.get(‘key’,‘value’):如果字典中存在关键字key,则返回关键字对应的值;如果字典d中不存在关键字key,则返回value的值,一般默认为None,也可以返回指定的value值,例如:d={‘name’:‘alex’,‘sex’:‘male’}a=d.get(‘name’)print(a)b=d.get(‘name1’)prin...

2020-01-08 20:55:16 27769

空空如也

空空如也

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

TA关注的人

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