编程
#define微光
努力奔跑,总有一天会到达想到的地方!
展开
-
Linux文件基本属性
Linux 系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux 系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在 Linux 中我们通常使用以下两个命令来修改文件或目录的所属用户与权限:chown (change ownerp) : 修改所属用户与组。 chmod (change mode) : 修改用户的权限。下图中通过 chown 来授权用户,通过 chmod 为用户设置可以开门的权限。在 Linux 中我们原创 2020-10-10 20:44:47 · 276 阅读 · 1 评论 -
利用 postman API测试代码导出
(1)利用postman进行接口测试(2)点击code(3)选择语言,复制代码原创 2020-09-08 17:42:48 · 391 阅读 · 0 评论 -
URI和URL
与URI(Uniform Resource Identifier 统一资源标识符)相比,我们更熟悉URL(Uniform Resource Locator 统一资源定位符),URL正是使用访问web浏览器等web页面时需要输入的网页地址。Uniform规定统一的格式可方便处理多种不同类型的资源,而不用根据上下文的环境来识别资源指定的访问方式,另外,加入新的协议也更容易。Resource资源的定义是“可标识的任何东西”,除了文档文件、图像或服务等能够区别于其他类型的,全都可作为资源,另外,资.原创 2020-09-06 22:53:21 · 209 阅读 · 0 评论 -
什么是token?
百度百科解释Token, 令牌,代表执行某些操作的权利的对象密保令牌(Security token),或者硬件令牌,例如U盾,或者叫做认证令牌或者加密令牌,一种计算机身份校验的物理设备会话令牌(Session token),交互会话中唯一身份标识符令牌化技术 (Tokenization), 取代敏感信息条目的处理过程token其实说的更通俗点可以叫暗号,在一些数据传输之前,要先进行暗号的核对,不同的暗号被授权不同的数据操作。Token是服务端生成的一串字符串,以作客户端进行请求的一个原创 2020-08-09 14:24:31 · 1187 阅读 · 0 评论 -
mock
mock测试mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。mock对象这个虚拟的对象就是mock对象。mock对象就是真实对象在调试期间的代替品。mock地址mock对象所在的地址...原创 2020-08-09 14:19:56 · 140 阅读 · 0 评论 -
Java----代码块(阿里笔试题详解)
首先我们来看一段代码,这是一道某ALBB企业的校招笔试题package com.bittech;/** * Author:weiwei * description:代码块执行顺序 * Creat:2019/3/26 **/public class HelloA { //构造方法 public HelloA(){ System.out.print...原创 2019-03-26 20:52:28 · 839 阅读 · 0 评论 -
短路与 短路或 不短路与 不短路或
先来看牛客的一道题如下语句通过算术运算和逻辑运算之后i和 j的结果是( )int i=0;int j=0;if((++i>0)||(++j>0)){//打印出i和j的值。}A i=0;j=0B i=1;j=1C i=0;j=1D i=1;j=0答案是:D为什么呢?考察短路逻辑的用法&& 和 || 分别为 短路与 和 短...原创 2019-06-10 18:49:18 · 2881 阅读 · 0 评论 -
牛客笔试题---给定一系列正整数,请按要求对数字进行分类
题目描述:给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字:A1 = 能被5整除的数字中所有偶数的和;A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3-n4...;A3 = 被5除后余2的数字的个数;A4 = 被5除后余3的数字的平均数,精确到小数点后1位;A5 = 被5除后余4的数字中最大数字。输入描述:每个输入包含1个测试用例。每个测试...原创 2019-06-16 19:54:23 · 1372 阅读 · 0 评论 -
牛客编程题---年会抽奖
题目描述:今年公司年会的奖品特别给力,但获奖的规矩却很奇葩:1. 首先,所有人员都将一张写有自己名字的字条放入抽奖箱中;2. 待所有字条加入完毕,每人从箱中取一个字条;3. 如果抽到的字条上写的就是自己的名字,那么“恭喜你,中奖了!”现在告诉你参加晚会的人数,请你计算有多少概率会出现无人获奖?输入描述输入包含多组数据,每组数据包含一个正整数n(2≤n≤20)。输出...原创 2019-07-07 23:11:19 · 1593 阅读 · 0 评论 -
Java----volatile关键字
1.关于volatile关键字volatile是Java提供的一种轻量级的同步机制。Java语言包含两种内在的同步机制:同步块(或方法)和volatile变量,相比于synchronized(synchronized通常称为重量级锁),volatile更轻量级,因为它不会引起线程上下文的切换和调度。但是volatile变量的同步性较差(有时它更简单并且开销更低),而且其使用也更容易出错...原创 2019-06-27 17:32:15 · 141 阅读 · 0 评论 -
Java---File文件操作类
IO的核心组成就是五个类(File、OutputStream、InputStream、Reader、Writer)一个接口(Serializable)在Java.io包之中,File类是唯一一个与文件本身操作(创建、删除、取得信息..)有关的程序类1.File类的使用java.io.File类是一个普通的类,直接产生实例化对象即可。如果要实例化对象则需要使用到两个构造方法:pub...原创 2019-07-31 01:31:24 · 163 阅读 · 0 评论 -
牛客笔试题--java中下面哪个能创建并启动线程()
题目描述:java中下面哪个能创建并启动线程()public class MyRunnable implements Runnable {public void run() {//some code here }}A. new Runnable(MyRunnable).start()B. new Thread(MyRunnable).run()C .new Thre...原创 2019-07-04 20:48:47 · 1595 阅读 · 0 评论 -
java类加载过程
首先我们来看一道题:题目描述:以下哪项不属于java类加载过程?A. 生成java.lang.Class对象B. int类型对象成员变量赋予默认值C. 执行static块代码D. 类方法解析正确答案:B--------------------------------------------------------------------------------------...原创 2019-07-04 21:29:54 · 880 阅读 · 0 评论 -
Set集合接口----HashSet和TreeSet
Set接口与List接口最大的不同在于Set接口中的内容是不允许重复的,同时,Set接口并没有对Collection接口进场扩充,而List接口对Collection进行了扩充,因此,Set接口中也没有get()方法Set接口包括:HashSet(无序存储)和TreeSet(有序存储)来看一下HashSet的源码:public class HashSet<E> e...原创 2019-06-10 15:27:08 · 251 阅读 · 0 评论 -
finalize()方法和finalization
首先finalize和finalization作为函数,属于析构函数,那么什么是析构函数呢?析构函数:是一个对象被撤销时自动调用的,析构与构造函数相反,当对象所在的函数一调用完毕,系统自动执行析构函数,往往用来做"清理善后"的工作finalize()方法java提供finalize()方法,当垃圾回收器准备释放内存的时候,会先调用finalize()方法垃圾回收器(garbage ...原创 2019-06-10 13:37:23 · 1367 阅读 · 1 评论 -
Java面向对象三大特性之一-----继承
1.继承的定义与使用继承:在已有的基础上继续扩充功能定义两个类(人和学生)package Testextends;/** * Author:weiwei * description:继承 * Creat:2019/3/27 **/class Person{ private String name; private int age; publi...原创 2019-03-27 17:31:58 · 614 阅读 · 0 评论 -
Java覆写详解
覆写:如果子类定义了与父类相同的属性或方法,这个操作就称为覆写1.方法的覆写方法的覆写:子类定义了与父类方法名称,参数类型,及个数完全相同的方法,但是覆写不能有比父类更严格的访问控制权限观察简单覆写package TestOverride;/** * Author:weiwei * description:简单的覆写 * Creat:2019/3/28 **/c...原创 2019-03-28 16:43:56 · 302 阅读 · 0 评论 -
Java小项目------基于字符界面的简易收银台
用Java实现简易收银台简易收银台的实现并不难,主要实现这几个类:商品类 Goods(将商品根据编号,名称,价格存放) 商品中心类 GoodsCenter(存放商品,可以添加商品,下架商品,修改商品信息,判断商品是否存在或者货架已满,打印商品等功能) 订单类 Order(处理订单,主要实现买单功能,下单,计算总价)功能实现 ...原创 2019-05-14 22:53:45 · 414 阅读 · 0 评论 -
Java实现判断是否回文
题目描述:"回文串"就是正反都是一样的字符串,比如"level","moon"等,判断若不是回文串则插入新的元素使新的字符串变成回文串思路:提示用户输入字符串 将字符串变为一个个的char 一个指针从前往后遍历,一个指针从后往前遍历,当发现字符不相等时就说明不是回文串 查找插入位置:将第二个字符串从第一个字符串的位置开始尝试插入知道判断回文的方法返回true时即找到插入位置整个过程...原创 2019-05-26 20:05:22 · 2626 阅读 · 0 评论 -
在整数数组中寻找第K大的数
题目描述:在一个整数数组中,根据快排的思路,找出数组中第K大的数思路:利用快排思想,例如在49个元素中找第24大的元素, 首先,进行一次快排,(将大的放到前半段,晓得放到后半段),假设得到的中轴为p 判断p-low+1 == k,如果成立,直接输出a[p],(因为前半段有k-1个大于a[p]的元素,故a[p]为第k大的元素) 如果p-low+1 > k,则第k大的元素在前半段,...原创 2019-05-26 20:40:29 · 886 阅读 · 0 评论 -
抽象类的定义与使用
1.抽象类的定义抽象类只是在普通类的基础上扩充了一些抽象方法而已,所谓的抽象方法指的是只声明而未实现的方法(即没有方法体)。所有抽象方法要求使用abstract关键字来定义,并且抽象方法所在的类也一定要使用abstract关键字来定义,表示抽象类定义一个抽象类package Abstract;/** * package:Abstract * Description:abs...原创 2019-06-29 22:11:36 · 727 阅读 · 0 评论 -
java---getDeclareMethods()和getMethods()方法
当一个类或者接口被加载到JVM的时候便会产生一个与之关联的一个java.lang.Class对象,我们可以通过此Class对象来得到被装入的类的详细信息:其中public Method[] getDeclareMethods():返回Class对象表示的类和接口的所有已声明的方法数组,包括pubic,protected,default和private的方法对象,但是不包括从父类继承和接口实...原创 2019-06-09 16:26:47 · 2114 阅读 · 0 评论 -
统计不同个位数出现的次数
题目描述: 给定一个k位整数N = dk-1*10k-1 + ... + d1*101 + d0 (0<=di<=9, i=0,...,k-1, dk-1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定N = 100311,则有2个0,3个1,和1个3思路: 首先被好长的公式给吓到了哎!!!但是读完题,它的意思就是给一个数让你统计这个数中不同个位数...原创 2019-06-03 14:57:11 · 1431 阅读 · 0 评论 -
关于Integer与int的装箱拆箱
Object可以接受所有的引用数据类型,那么基本数据类型怎么办呢?所以就产生了包装类(将基本数据类型封装到类中)Integer就是int的包装类,int初值为0,Integer初值为null,装箱:将基本数据类型变为包装类对象,利用每一个包装类提供的构造方法是向装箱处理拆箱:将包装类中包装的基本数据类型取出装箱:int---->IntegervalueOf()是装箱方法之...原创 2019-06-09 23:49:28 · 403 阅读 · 0 评论 -
java中的形式参数
先来看一道题:5. 下列语句正确的是A. 形式参数可被字段修饰符修饰B. 形式参数不可以是对象C. 形式参数为方法被调用时真正被传递的参数D. 形式参数可被视为local variable正确答案是:DA:对于形式参数只能用final修饰符,其它任何修饰符都会引起编译器错误。但是用这个修饰符也有一定的限制,就是在方法中不能对参数做任何修改。 不过一般情况下,一个方法的形参不...原创 2019-07-05 14:46:06 · 5667 阅读 · 1 评论 -
java 访问权限修饰符和非访问权限修饰符
修饰符分类Java语言提供了很多修饰符,大概分为两类:1. 访问权限修饰符2. 非访问权限修饰符访问权限修饰符 public:共有访问。对所有的类都可见。 protected:保护型访问。对同一个包可见,对不同的包的子类可见。 default:默认访问权限。只对同一个包可见,注意对不同的包的子类不可见。 ...原创 2019-07-05 14:58:36 · 537 阅读 · 0 评论 -
无符右移和带符号左移/右移
带符号右移 >> 带符号左移<< 无符号右移>>> 没有无符号左移在计算机中,不用+-来表示正负数,用最高位是0还是1来表示正负数,0表示正,1表示负高位在左,低位在右,左移是乘,右移是除1.带符号右移>> 简算:[5/(2^2)=1]正数例如 5>>2(正数高位补0)首...原创 2019-06-30 16:52:34 · 1947 阅读 · 1 评论 -
牛客笔试题---BrokenKeyboard
题目描述:On a broken keyboard, some of the keys are worn out. So when you type some sentences, the characters corresponding to those keys will not appear on screen.Now given a string that you are suppos...原创 2019-07-31 01:29:40 · 244 阅读 · 0 评论 -
java实现比较大小的方式(内部排序,外部排序)
内部排序:Comparable所谓的内部排序:实现了Comparable接口的子类,表示本类具备天然的可比特性(有一个标准)int compareTo(Object o)0 本身大于目标对象=0 本身等于目标对象<0 本身小于目标对象外部排序:Comparator(推荐)类本身不具有可比较的特性,而是专门有一个类比较该类的大小(叫做比较器)[比如人,天然不具备比较的...原创 2019-07-22 16:04:05 · 770 阅读 · 0 评论 -
链表的插入与删除
链表是逻辑存储结构连续,物理存储结构不连续的数据结构每一个结点由两部分组成:保存数据的结点和下一个结点的引用实现链表package Test0726;/** * package:Test0726 * Description:TODO * @date:2019/7/26 * @Author:weiwei **/public class MyLinkedList { ...原创 2019-07-26 23:41:43 · 189 阅读 · 0 评论 -
java多线程等待唤醒机制--wait/notify
wait()方法wait() 方法就是让线程停止运行wait():运行态-->阻塞态注意:方法wait()的作用是使当前执行代码的线程进行等待,将当前线程置入“预执行队列”中,并且在wait()所在的代码处停止执行,直到接到通知或被中断为止wait()方法只能在同步方法中或同步块中调用(synchronized中)。如果调用wait()时,没有持有适当的锁,会抛出异常wait(...原创 2019-08-05 23:17:59 · 429 阅读 · 0 评论 -
牛客笔试题----输入一个字符串,输出其中最长的数字串
一.题目描述:注意是字符串中求的数字串输入一个字符串,输出其中最长的数字串思路:定义一个 maxLength 变量来记录最长数字串 定义一个 count 变量来记录遍历过程中数字个数 如果 count > maxLength ,就说明 maxLength 不是最长的数字串,将 count 赋值给maxLength 定义一个 end 变量来记录数字串的最后一个数字,最后用subS...原创 2019-08-13 21:00:56 · 1848 阅读 · 0 评论 -
[剑指Offer]最小的k个数 -------三种不同的解法
题目描述:输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,输入描述:int[] input:待搜索的数组int k:需要找出最小的数量输出描述:当k大于input长度时,返回空(非null)当k小于input长度时,返回input中最小的k个数字解法一:利用冒泡排序的思路,每一次...原创 2019-08-14 23:06:03 · 201 阅读 · 0 评论 -
start()方法与run()方法
Java的线程是通过java.lang.Thread类来实现的。JVM启动时会有一个由主方法所定义的线程。可以通过创建Thread的实例来创建新的线程。每个线程都是通过某个特定Thread对象所对应的方法run()来完成其操作的,方法run()称为线程体。通过调用Thread类的start()方法来启动一个线程.在Java当中,线程通常都有五种状态,创建、就绪、运行、阻塞和死亡。第一是创建状...转载 2019-08-17 21:19:57 · 894 阅读 · 0 评论 -
一个整数二进制表示中1的个数
题目描述:输入一个整数,输出该整数二进制表示中1的个数,其中负数用补码表示算法思想:把一个整数减去1,在与原数做与运算,会把该整数最右边的1变成0(例如原数1100,减1得1011,做完与运算后的1000),那么一个整数表示中有多少个1,就可以进行多少次这样的操作public class Main { public static int NumberOf1(int n){ ...原创 2019-09-04 00:05:29 · 231 阅读 · 0 评论 -
Java实现多线程聊天室
之前呢已经用单线程的方式来实现了聊天室,但其实它的功能并不齐全,下面用多线程来实现,功能会比单线程聊天室更加齐全,也更人性化一点多线程版本的聊天室1. 功能分析:实现用户注册,上线,下线 实现群聊和私聊 统计当前在线人数2. 服务端实现 维护所有的在线用户 注册功能:客户端名称,添加到服务器的客户端集合里 群聊功能:客户端发送消息,所有的客户端都能接收到...原创 2019-07-30 15:58:04 · 2388 阅读 · 0 评论 -
了解fail-fast 和 fail-safe
1.fail-fast快速失败fail-fast快速失败策略,优先考虑出现异常的情况,当异常产生时,直接抛出异常,程序终止运行什么时候回出现fail-fast呢?之前在集合中提到过,利用迭代器进行遍历集合对象输出的时候尽量不要修改元素(增删改),如果修改了元素,那么就会出现ConcurrentModificationException的异常查看ArrayList源码,在执行nex...原创 2019-07-16 14:39:28 · 340 阅读 · 0 评论 -
java----for循环的执行顺序
先来看一道题:题目描述:以下程序的输出结果是public class Print{static boolean out(char c){System.out.println(c);return true; }public static void main(String[] argv){int i = 0;for(out('A');out('B') &&...原创 2019-07-05 21:08:54 · 632 阅读 · 0 评论 -
ConcurrentHashMap,hashMap,HashTable,TreeMap的关系与区别
首先先来看一道题选择下列选项中正确的一项?A.ConcurrentHashMap使用synchronized关键字保证线程安全B.HashMap实现了Collction接口 C.Array.asList方法返回java.util.ArrayList对象D.SimpleDateFormat是线程不安全的答案是:DArray.asList方法返回List对象,...原创 2019-07-31 01:20:31 · 262 阅读 · 0 评论 -
关于JVM内存模型
先来看一道题:下面有关JVM内存,说法错误的是?A 程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行到了第几行,是线程隔离的B Java方法执行内存模型,用于存储局部变量,操作数栈,动态链接,方法出口等信息,是线程隔离的C 方法区用于存储JVM加载的类信息、常量、静态变量、即时编译器编译后的代码等数据,是线程隔离的D 原则上讲,所有的对象都在堆区上分配内存,是线程...原创 2019-07-05 15:45:38 · 499 阅读 · 0 评论