java方法参数

为了更好理解方法参数这个词,我们要先明白什么使方法。 方法: 我们先可以看一下方法的定义: 访问修饰符] [static] [是否有返回值类型] 方法名(参数列表){ [方法执行体] [return返回值] } 举一个通俗易懂的例子,Person类就表示一个对象 或者是一类对象 这里就是指“人” 人都有眼睛、嘴巴 这些就是人的属性 人能够做什么? 答: do do()方法就是人可以做什么 就是这个对象的动作 方法中就是这个动作会产生什么样的效果 声明一个简单的方
分类: 其他 发布时间: 06-14 23:25 阅读次数: 0

静态块、构造块、构造函数调用构造对象的先后顺序

初始化块 在进行静态块、构造块调用构造对象之前,我们需要先知道初始化块。 在一个类的声明中,可以包含多个代码块,只要构造类的对象,这些块就会被执行。 例如: class Employee{ private static int nextId; private int id; private String name; private double salary; { id = nextId; nextId++; } ... } 在上列代码中无论使用哪个构造器构造
分类: 其他 发布时间: 06-14 23:25 阅读次数: 0

javascript的基本数据类型,创建函数、调用函数三种方式,定义对象三种方法,创建类以及继承的标准写法

javascript的基本数据类型 javascript是弱类型脚本语言,声明变量时无须指定变量的数据类型。 javascript总共有5种基本数据类型。分别是: 1.数值类型: 包含整数或浮点数。 2. 布尔类型:只有true和false两个值。 3. 字符串类型:字符串变量必须用引号括起来,引号可以是单引号也可以是双引号。 4. undefined类型:专门用来确定一个可以创建但是没有初值的变量。 5. null类型:用于表明某个变量的值为空。 数值类型: <script type="te
分类: 其他 发布时间: 06-14 23:24 阅读次数: 0

虚拟机启动出现“内部错误”解决方法

我今天在使用虚拟机时出现了一些问题,特此记录一下。 针对于虚拟机安装成功了,镜像也存在,注册码都输入完毕的情况下。 开启此虚拟机时出现了如下错误: 遇到这个错误我们首先要检查我们服务是否启动了VMware的一系列服务。 可以看到我这里虽然显示自动启动,但是VM一系列服务没有启动,我们需要手动将他们启动 当显示正在运行时,在返回我们的页面,发现虚拟机就可以正常使用了
分类: 其他 发布时间: 06-14 23:24 阅读次数: 0

每天一个linux命令(3):pwd命令

Linux中用 pwd 命令来查看”当前工作目录“的完整路径。 简单得说,每当你在终端进行操作时,你都会有一个当前工作目录。 在不太确定当前位置时,就会使用pwd来判定当前目录在文件系统内的确切位置。 命令格式: pwd [选项] 命令功能: 查看”当前工作目录“的完整路径 常用参数: 一般情况下不带任何参数 如果目录是链接时: 格式:pwd -P 显示出实际路径,而非使用连接(link)路径。 常用范例: 实例1:用 pwd 命令查看默认工作目录的完整路径 实例2:使用 pwd 命令查看指定
分类: 其他 发布时间: 06-14 23:23 阅读次数: 0

python的输入输出以及list和tuple使用

python的输入输出 python的输出 用print()在括号中输入字符串,就可以输出我们指定的文字。 print('你是真的秀') 如下是我们的运行成果: 用print()也可以接受多个字符串,用逗号“,”隔开,可以连成一串输出 print('你是真的秀', 'A1高闪来一个', 'wdnmd') 如下是我们的运行成果: print()会依次打印每个字符串,遇到逗号“,”会输出一个空格。 print()也可以打印整数或者计算结果: print(300) print(400+500)
分类: 其他 发布时间: 06-14 23:23 阅读次数: 0

数组存储压缩原理

数组存储压缩原理 我们在存储基本类型数组的时候有可能会发生这种疑问:一个存储空间大小是4KB,而我们要存储的数组大小为1KB,那么剩下的3KB就浪费了吗?那岂不是需要我们电脑有很大的存储空间来存储各种各样的数据? 显而易见的,剩下的3KB并不会浪费。 下面是我对这个问题的思考和一点见解: int[] arr = new int[10]; 上述代码的作用是声明一个数组并申请了一个固定长度的空间。 数组是用连续的物理地址进行存储的。 在对数组进行更改删除等操作时并不会改变我们已经申请好的空间长度。
分类: 其他 发布时间: 06-14 23:23 阅读次数: 0

java数值类型的乘除位运算优化原理

位运算符中,<<和>>运算符将位模式左移或者右移,使用这种运算符有些时候会进行非常快速的运算。<<表示左移乘2,>>表示右移除2 int a = 256 * 100;那么a就为100个256相加。 对于位运算原理来说,100 = 64 + 32 + 4 = 2^6 + 2^5 +2^2 a = 256 * ( 2^6 + 2^5 +2^2)= 256 * 2^6 + 256 * 2^5 + 256 * 2^2 = (256<<6) + (256<<5) + (256<<2) <<运算符后面跟的
分类: 其他 发布时间: 06-14 23:23 阅读次数: 0

JAVA中匿名对象的性能优势分析

以匿名数组为例 一. 在java中,提供了一种创建数组对象并同时赋予初始值的简化书写形式,表明我们声明了一个数组。 int[] arr = {13,24,45,67}; 这种写法不需要通过new来创建。 我们把这种写法和我们最常见的写法对比一下: int[] arr = {13,24,45,67}; System.out.println(arr[0]+"---"+arr[1]+"---"+arr[2]+"---"+arr[3]); int[] array = new int[]{13,24
分类: 其他 发布时间: 06-14 23:22 阅读次数: 0

java中变化的数据为什么不可以压缩

上一篇文章说基本类型数组可以进行压缩存储,因为基本类型数组是有固定的存储空间的 变化的数据我们用引用类型数组来举例 引用类型的数组进行存储时,我们通过对象改变数组的里值,但是他的空间长度不会固定不变,这点引用类型数组和基本类型数组是有差别的。所以引用类型的数组不能够压缩存储,它的空间长度是可以发生变化的。 如果几个存储空间会发生变化的数组进行压缩存储的话,会造成内存溢出的情况,这并不是我们想看到的,所以操作系统并不会把可以变化的数据进行压缩存储。 以上就是我的见解。
分类: 其他 发布时间: 06-14 23:22 阅读次数: 0

java按值传递和按引用传递最易懂的解释!

按值传递 一些小白在写java程序时 会遇到这样的问题: public static void method( int as){ as = 100; } public static void main(String[] args){ int as = 50; method(as); System.out.println(as); } 以上代码输出结果还是50,并没有改变as的值。按照想法我们把as作为参数传递到函数中并且更改了值啊?为什么没有效果呢
分类: 其他 发布时间: 06-14 23:22 阅读次数: 0

java快速排序算法最易懂的解释!

快速排序的基本实现思想: 选取数组的第一个元素作为基准值key。 从数组最后一个元素high开始依次向前与key进行比较分区,将不小于key的数全放到它的右边,不大于key的数全放到它的左边。 比较交换之后以key下一个元素为基准再对左右区间重复第二步,直到各区间只有一个数 算法的具体实现: 根据基本思想描述,在上图已经标出了key和最后一个元素high key开始与最后一个元素比较,也就是4与34比较,因为思想中需要将不小于key的数全放到它的右边,所以4比34小会继续与33进行比较,以此类
分类: 其他 发布时间: 06-14 23:22 阅读次数: 0

JAVA中String,StringBuilder,StringBuffer三者的区别原理

三者源码上的区别: 在java 8 ,也就是jdk1.8中我们可以看到关于String的部分源码 public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** The value is used for character storage. */ private final char value[]; } 在源码中我们可以看见用
分类: 其他 发布时间: 06-14 23:21 阅读次数: 0

JVMHotspot OutOfMemory异常信息整理

在java虚拟机规范的描述中,除了程序计数器外,虚拟机内存的其他几个运行时区域都又发生OutOfMemory(简称:OOM)异常的可能。 1.java堆内存溢出 java.lang.OutOfMemoryError:Java heap space Java堆内存的OOM异常实际应用中常见的内存溢出异常情况。当出现Java堆内存溢出时,异常堆栈信息“Java.lang.OutOfMemoryError” 会跟着进一步提示“Java heap space”。 2.方法区和运行常量池溢出 运行时常
分类: 其他 发布时间: 06-14 23:21 阅读次数: 0

java本地内存直接溢出

DirectMemory容量可通过 -XX:MaxDirectMemorySize指定,如果不指定,则默认与java堆最大值一样,虽然使用DirectByteBuffer分配内存也会抛出内存溢出异常,但它抛出异常时并没有真正向操作系统申请分配内存,而是通过计算得知内存无法分配,于是手动抛出异常,真正申请分配内存的方法是unsafe.allocateMemory() 下面是测试代码: public class DirectMemoryOOM{ private static final int_
分类: 其他 发布时间: 06-14 23:21 阅读次数: 0

虚拟机栈和本地方法栈溢出

由于HotSpot虚拟机中并不区分虚拟机栈和本地方法栈,因此,虽然设置本地方法栈大小的参数 (-Xoss)存在,但是无效,栈容量只能由-Xss参数设定。 关于虚拟机栈和本地方法栈溢,在java虚拟机规范中描述了两种异常: 如果线程请求的栈深度大于虚拟机所允许的最大深度,将抛出StackOverflowError异常 如果虚拟机在扩展栈时无法申请到足够内存空间,则抛出OutOfMemoryError异常 虽然分成两种情况,但是这两者也有一些共同之处:当栈空间无法继续分配时,到底是内存大小,还是已
分类: 其他 发布时间: 06-14 23:20 阅读次数: 0

Linux多线程服务端编程学习muduo(一)Centos7安装muduo网络库

1、github下载muduo源码,https://github.com/chenshuo/muduo 我是以 root 权限登陆的(root权限登陆需要小心操作,不是很熟悉的,还是普通用户登陆,接下来的操作前面加 sudo),下载的文档在 /root/Downloads 文件夹下。此处需要注意,下载的是ZIP文件,因此解压需要用安装支持ZIP的工具,此处读者可自行解决。我是在windows下载解压,然后文件共享到Linux的。 2、安装cmake (1)安装cmake前需要的准备工作 确保
分类: 其他 发布时间: 06-14 23:20 阅读次数: 0

Linux多线程服务端编程学习muduo(二)如何使用muduo网络库 Centos7

安装、编译muduo,使用muduo 下载、安装编译muduo的过程 点击https://blog.csdn.net/YoungSusie/article/details/90021742 本文以 陈硕 老师git 网站上 muduo-tutorial-master 程序为例来解释如何运用muduo库,以及其中可能会遇到的问题与解决办法。 1、下载示例程序包 下载地址 https://github.com/chenshuo/muduo-tutorial 解压,陈硕老师在README里面写的很清
分类: 其他 发布时间: 06-14 23:20 阅读次数: 0

Linux多线程服务端编程学习muduo(四)finger服务的实现

例 七步实现finger服务 本文以陈硕老师的 Linux多线程服务端编程 为参考书,展示如何通过陈硕老师的源码编写对应的CMakeLists.txt ,然后编译运行。(在进行本部分的实验前,需要先 进行网络库的安装 参考链接 https://blog.csdn.net/YoungSusie/article/details/90021742 以及 库文件和头文件的设置 参考链接 https://blog.csdn.net/YoungSusie/article/details/90035042)
分类: 其他 发布时间: 06-14 23:19 阅读次数: 0

Linux多线程服务端编程学习muduo(五)echo大小写互换与ROT13加密

1、修改EchoServer::onMessage(),实现大小写互换 修改EchoServer::onMessage() 收到msg之后进行转换 for(unsigned int i = 0;i<msg.size();++i){ if(msg[i] >= 'a' && msg[i] <= 'z'){ msg[i] = char(msg[i] - 'a' + 'A'); continue;} else if(msg[i] >= 'A' && msg[i] <= 'Z'){
分类: 其他 发布时间: 06-14 23:19 阅读次数: 0