- 博客(17)
- 问答 (4)
- 收藏
- 关注
原创 java模拟斗地主发牌(代码)
package practise;import java.util.*;import java.util.concurrent.Callable;public class Hash { public static void main(String[] args) { ArrayList<String> list=new ArrayList<String>(); //装牌 //花色 String[] .
2022-04-03 08:46:21
776
原创 Volatile
volatile是一个特征修饰符(type specifier).volatile的作用是作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值。volatile是用来解决可见性的,Java在处理多线程任务时,每个线程都会有一个栈空间储存本线程的变量,若存在一个共享变量在共享内存,线程A改变了该变量的值,但是共享内存(主内存)没有及时更新,线程B在使用时就会继续使用旧值,因此在变量前使用volatile修饰,就可以保证共享内存会及时更新变量值,这就是可见性。可见性的特性...
2022-03-20 09:49:41
311
原创 线程安全那些事
线程安全实际上指的是内存的安全。由于进程中的线程都是共享资源的。每个进程的内存空间都会有一块堆内存,所有的线程都会访问到这个区域,这就导致问题的产生。例如线程1保存的数据被线程2改动导致线程1继续进行的是出现错误。局部变量为每个线程分配属于自己的空间,称为栈内存,是其他线程无法访问的。常见的有 局部变量 。某个方法被两个线程同时使用时,方法中的局部变量会分别保存在线程的栈内存中,也就是说每个线程会有自己单独的一份数据。互不打扰。但是这时这个数据被限制在该方法中使用。其他方法不能使
2022-03-19 22:14:30
176
原创 重写和重载
1、重写override顾名思义就是重新写一个函数,重写的部分就是方法内部的行为。一般是子类继承父类之后,想要改变某个方法内部的行为时可以重写这个方法。用override修饰。举个例子:如果父类是猫科动物,有一个方法是吃饭,里面执行的代码是自己捕猎。子类是猫和狮子,在吃饭这个方法中,狮子可以直接用,因为它会捕猎,但是猫不会捕猎,就需要在猫咪的类里面(!看看这里!!!猫咪的类里面!!)重写这个方法改成投喂之后就可以用了。大致是这么个意思……所以一般方法名、参数列表必须相同。返回值范
2022-02-18 14:19:00
166
原创 Python内存管理&垃圾回收
引用计数器为主,标记清除和分代回收为辅+缓存机制1、引用计数器1.1 环状双向链表 refchain在python 中创建的任何对象都会放在rechain链表中 。内部会创建一写数据【上一个对象,下一个对象,类型,引用对象,value="王"】name="王"在C语言源码中体现相同的值:PyObject结构体(前4个值肯定存在)有多个元素组成的对象:PyObject结构体(前4个值肯定存在)+ob_size 。1.2详细解析类型封装的结构体data=3.14内..
2022-01-28 13:58:14
1416
原创 对测试的简单了解——笔记
一、为什么需要软件测试1.一款软件从无到有,会经历很多的开发阶段,有不同的人参与开发,所以最终产出的软件功能可能会存在问题,因此未来保证软件的功能是可用的,我们必须要进行测试!2.当前软件行业,已经不再是功能为王,用户不仅仅只盯着软件的功能是否满足需求,还会对软件是否容易上手,执行效率是否OK,等等一系列其他体验都有了很高的要求,所以这也是需要我们对软件进行大量的测试来达到我们最终想要的结果。二、为什么选择软件测试1.需求量大2.薪资可观3.行业稳定4.不受开发语言限制三、为
2022-01-18 22:17:47
1280
原创 解决python无法导包问题Unresolved reference ‘Config‘ less... (Ctrl+F1)
写完一个小项目,过几天后运行,发现无法导包,出现这个在网上找了一些方法后,能解决我这个问题的是以下这种方法右击package出现这个界面,点击source root之后让所有文件夹都在一个根目录下面就可以导入同一个项目的包了。...
2022-01-16 19:19:09
2223
原创 JVM学习笔记
JVM学习笔记1.JVM的位置:电脑最底层是硬件包括(intel,Spac…等) 中间是操作系统包括(Window,Linux,Mac等) 最上面是软件层,JRE和众多软件在这一层并列,JVM被包含于JRE里面 运行的java程序在JVM之上运行 2.JVM体系结构 3.类加载器作用:加载Class文件 ~new class_name();new 出来的是具体的实例。类加载器分类:1.虚拟程序加载器;2.启动类(根)加载器;3.扩展类加载器;4.应用程序加载器..
2022-01-01 20:49:53
338
原创 栈解决逆波兰表达式(java)
1.逆波兰表达式1.1中缀表达式中缀表达式就是平常生活中使用的表达式,如1+2,中的+就是两个相关数字中间的表达式。这种表达方式对于人的思维来说比较简便,易懂。但在计算机运用中存在表达式优先级问题。1.2逆波兰表达式逆波兰表达式是由波兰逻辑学家J·卢卡西维兹(J·LuKasewicz)于1929年首先提出的一种表达方式,也称为后缀表达式:运算符放在跟它相关的两个操作数中缀表达式 逆波兰表达式 a+b ab+ a+(b-c) abc-+ a+(b-c)*d
2021-08-11 21:55:33
217
原创 Python序列
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习..
2021-05-29 09:28:24
93
原创 类
类Python学习之类文章目录面向对象程序设计 类和实例 类属性和类方法 一、面向对象程序设计“对象”和“对象的属性"的概念最早可以追溯到上世纪20世纪50年代初,它们首先出现在人工智能相关的早起著作中。面向对象编程是一种重要的程序设计思想,其对于现实世界中的事物所包含的属性和行为进行概念化模型以反映其特征。简单来说就是,设计程序表现出某一对象的特征。这使得编写程序变得简单和容易。二、类和实例类是对属于它的对象的模板,而对象是类的一个实例。1.类,...
2021-05-23 16:45:26
321
2
原创 汉诺塔Hanoi游戏
汉塔诺游戏汉塔诺游戏是必须用递归的方法才能解决的问题。它来源于印度神话,大梵天创造世界的时间做了三个柱子,其中一根柱子上 从下往上 按照大--->小顺序螺着64个圆盘,并且命令婆罗门将圆盘移动到另一根柱子上,排列与开始的柱子一样,移动时一次只能移动一个,并且小圆盘上面不可以放大圆盘。分析分析这三根柱子分工分别为起始柱A,目标柱B,媒介柱C目前假设共n个圆盘,前n-1个圆盘已经移动好了,此时对于n-1个盘子A柱为起始,C柱是目标柱,媒介是B。对于n个盘子A是起始,B是目标柱.
2021-05-03 22:26:03
340
原创 Python解决山羊与小车问题
Python解决山羊与小车问题文章目录山羊与小车问题 两种观点 代码验证 一、山羊与小车问题 美国的一个电视游戏节目Let‘s Make a Deal上有一个游戏,规则如下:参赛者会看见三扇关闭了的门,其中一扇的后面有一辆汽车,选中后面有车的那扇门就可以赢得该汽车,而另外两扇门后面则各藏有一只山羊。 当参赛者选定了一扇门,但未去开启它的时候,节目主持人会开启剩下两扇门的其中一扇,露出其中一只山羊。主持人其后会问参赛者要不要换另一扇仍然关上的门。之后由参赛者做出最后的...
2021-05-03 21:48:30
1282
1
空空如也
sc.nextline()循环输入最后一行输不进去
2022-04-14
如何取消BasicActivity 中的Fragment
2021-09-11
Android Stadio 更换APP图标显示SDK要26以上
2021-08-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人