- 博客(20)
- 收藏
- 关注
原创 Java并发工具类
并发工具类介绍常用并发工具类有以下几种:Fork/JoinCountDownLatchCyclicBarrierSemaphoreExchangerCallable、Future、FutureTaskFork/JoinFork/Join框架是分而治之思想的一种体现,它通过两个类来实现这个功能。RecursiveAction:用于没有返回值的情况RecursiveTas...
2019-03-13 17:40:28
213
原创 Java内存区域与内存溢出异常
参考《深入理解Java虚拟机》运行时数据区域方法区(共享)堆(共享)虚拟机栈(线程私有)本地方法栈(线程私有)程序计数器(线程私有)方法区用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据不需要连续内存且可扩展也可固定大小(同堆)可以选择不实现垃圾收集方法区无法满足内存分配需求时,抛出OOM异常运行时常量池是方法区的一部分,虚拟机可...
2019-02-26 10:23:08
197
原创 TCP头部和封装
TCP在IP数据报中的封装 IP头部 TCP头部可看到,IP数据报即 = P头部协议 + TCP报文段,这也称为TCP在IP数据报中的封装。有趣的是,TCP报文段中的数据部分并不是必须的,当一个连接被建立和终止时,交换的报文段只包含了TCP头部而没有数据,一个不带任何数据的头部会被用于确认接收到的数据,也称为一个纯ACK。接下来重点看TCP头部。TCP头部...
2019-02-25 09:56:40
2506
原创 C++与Java之括号匹配(栈实现)
题目描述在某个字符串(长度不超过100)中有左括号、右括号和大小写字母;规定(与常见的算数式子一样)任何一个左括号都从内到外与在它右边且距离最近的右括号匹配。写一个程序,找到无法匹配的左括号和右括号,输出原来字符串,并在下一行标出不能匹配的括号。不能匹配的左括号用"$"标注,不能匹配的右括号用"?"标注。输入输入包括多组数据,每组数据一行,包含一个字符串,只包含左右括号和大小写字母,字符串长度不超...
2018-03-13 16:19:48
255
原创 Python之计算π值
计算π值采用蒙特卡洛方法,即随机抽样方法。构造单位正方形和四分之一圆,向其中任意抛洒点,再用圆中的点数除以总点数,即可得到π值。I:抛洒点的数量P:对每个抛洒点,计算点到圆心的距离,判断在圆内还是圆外,并统计在圆内点的数量O:π值from random import randomfrom math import sqrtfrom time import clockDARTS=12000000...
2018-03-03 15:39:06
12260
3
原创 Python之随机数库
seed(x)——给随机数一个种子值,默认随机种子是系统时钟random()——生成一个0到1之间的随机小数uniform(a,b)——生成一个a到b之间的随机小数randint(a,b)——生成一个a到b之间的随机整数randrange(a,b,c)——随机生成一个从a开始到b以c递增的数choice(<list>)——从列表中随机返回一个元素shuffle(<list>...
2018-03-03 15:26:05
502
原创 Python语言的类型
Python常见类型有数字类型、字符串类型、元组类型、列表类型、文件类型、字典类型数字类型:整数类型、浮点数类型、复数类型。 1、不同于其他语言,整数类型没有取值范围限制。而浮点数类型有范围限制,可引入sys,打开sys.float_info来获取计算机 中浮点数的精度,由于精度较高,一般认为浮点数也没有范围限制。复数类型z=a+bj,用j/J来表示虚数部分,python中 ...
2018-03-03 15:19:35
507
原创 Python之绘制蟒蛇
1、turtle库是python常用的绘制图像的库,根据一组函数的指令决定轨迹图形。2、def用于定义函数,def所定义的函数在程序中未经调用不能直接执行,需要通过函数名调用才能执行。3、turtle.setup(宽度,高度,左上角横坐标,左上角纵坐标)——这个函数用于创建一个图形窗口。4、turtle.pensize(size)——表示运行轨迹的宽度,size单位为像素。5、turtle.pen...
2018-03-03 13:44:12
2743
1
翻译 Java笔记(10):静态变量、常量和方法
静态变量被类中的所有对象所共享,静态方法不能访问类中的实例成员。静态变量将变量值存储在一个公共的内存地址,故类的所有实例可以共享该变量。无须创建类的实例即可调用静态方法。 要声明静态变量或定义静态方法,就要在这个变量或方法的声明中加上修饰符static。类中的常量被该类的所有对象共享,因此常量应该声明为final static。 使用“类名.方法名(参数)”的方式调用静态方法,使用“类名....
2018-02-28 18:33:42
486
翻译 Java笔记(9):格式化控制台输出
可以使用System.out.printf方法在控制台上显示格式化输出%[域宽度].[精度][转换码]简单格式标识符:%b(布尔值)、%c(字符)、%d(十进制整数)、%f(浮点数)、%e(科学记数法形式)、%s(字符串)例如:System.out.printf("count is &d and amout is %f",count,amount);指定宽度和精度:%5c:输出字符并在前面...
2018-02-27 21:17:18
490
翻译 算法之猜测生日
可以通过询问朋友5个问题,找到他出生在一个月的哪一天。每个问题都询问生日是否是5个数字集合中的一个。集合一: 集合二: 集合三:1 3 5 7 2 3 6 7 ...
2018-02-27 20:49:37
3874
原创 Java笔记(8):String
String属于引用类型,关于String的简单方法有:length()、charAt(index)、concat(s1)、toUpperCase()、toLowerCase()、trim(),由于这些方法只能从一个特定的字符串来调用,故也称为实例方法。String s3=s1.concat(s2);//连接两个字符串此语句等价于:String s3=s1+s2;加号若连接字符串和其他类型的值...
2018-02-27 16:39:50
184
原创 Java笔记(7):Character类
Character类中的方法:isDigit(ch)isLetter(ch)isLetterOrDigit(ch)isLowerCase(ch)isUpperCase(ch)toLowerCase(ch)toUpperCase(ch)
2018-02-27 15:24:05
157
原创 Java笔记(7):常用数学函数
三角函数:sin(radians)、cos(radians)、tan(radians)、toRadians(degree)、toDegrees(radians)、asin(a)、acos(a)、atan(a)。指数函数:exp(x):返回e的x次方 log(x)、log10(x)、pow(a,b)、sqrt(x)。取整方法:ceil(x):向上取整(返回值为双精度) floor(x):向下...
2018-02-27 15:07:30
236
原创 Java笔记(6):随机数
Java中的随机数可以用Math.random()来产生,所产生的数位于0.0到1.0之间(不包括1.0)。想产生0~9之间的随机整数可用(int)(Math.random()*10)。例子:开发一个让一年级学生练习减法的程序。...
2018-02-27 14:29:53
163
原创 Java笔记(5):浮点数值的相等测试
Java中存在取整错误,即涉及浮点数的计算都是近似的,因为计算机是以二进制来储存数字的。比如用eclipse输出1.0-0.9的结果为0.0999999999998,而不是0.1。 故比较两个浮点数值是否相等时也不能直接对比他们的大小,而应该用近似值来比较,即比较两数之差是否小于一个非常小的值,通常取10e-14。 例如比较1.0-0.1-0.1-0.1-0.1-0.1和0.5,他们是相等...
2018-02-27 10:52:42
420
原创 java笔记(4):显示当前时间
可以通过调用System.currentTimeMillis()currentTimeMilis()方法返回从GMT1970年1月1日00:00:00(时间戳)开始到当前时刻的毫秒数。总毫秒数/1000得到总秒数totalSeconds;总秒数/60得到总分钟数totalMinutes;总分钟数%60得到当前分钟;总分钟数/60得到总小时数;总小时数%24得到当前小时数。public class ...
2018-02-27 08:24:30
323
原创 java笔记(3):数值型直接量
一个直接量是一个程序中直接出现的常量值。long型直接量:2147483648L或2147483648l,必须加L/l(推荐用L)二进制整数直接量:0b或0B开头。八进制整数直接量:用0开头。十六进制整数直接量:用0x或0X开头。例如:System.out.println(0B1111);浮点型直接量默认为double型,若在数字后面加f或F则作为float型直接量,也可在数字后加d或D作为dou...
2018-02-26 18:27:38
681
原创 java笔记(2):命名常量和数值数据类型
命名常量是一个代表不变值的标识符。 final datatype CONSTANTNAME=value;常量必须在同一条语句中声明和赋值,final为关键字。例如:final double PI=3.14159;常量的命名一般用大写。数值数据类型:byte(8bit)、short(16bit)、int(32bit)、long(64bit)、float(标准32bit)、double(标准64bi...
2018-02-26 18:01:22
400
原创 Java笔记(1):从控制台读取输入
使用Scanner类可实现此功能。 System.out表示标准输出设备(默认为显示器),System.in表示标准输入设备(默认为键盘)。 java中输出可直接使用println方法,而输入则需使用Scanner类创建其对象,读取来自System.in的输入:Scanner input=new Scanner(System.in); new用来创建一个对象,input是一个Scanne...
2018-02-26 17:50:51
206
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人