- 浏览: 101193 次
- 性别:
- 来自: 郑州
最新评论
文章列表
以后我的博客会在 我的新家和我的简书进行同步更新:
我的博客新家:
欢迎关注
我的简书:
欢迎关注
请大家关注 我的新家:www.taoyongpan.xin/2017/12/05/sql001/
大学生眼中的网站
我也是个大三的学生,绝对没有贬低的意思。
当我们知道自己被计算机学院录取的时候,我们都怀着好奇与忐忑的心情,开始了我们的大学;好奇的是:我们平常生活中使用的这些网站和APP都是怎么做出来的呢,我以后也是干这个的吗;忐忑的是:wco我平时就会打游戏和看视频,那些玩意我能学会吗,好起来逼格都好高啊。当我们刚开始接触代码时候的那种油然而生的装逼之心 ,忍不住发了个说说,告诉身边的人,我也是电视里那种用代码的人了;经过了一年的沉浮,我们大部分人都已经是开发小能手了,我们 ...
新家地址
一、手写源程序
我们打开任何一本Java学习的书籍,都会告诉我们用记事本或者其他的文本编辑器写一个简单的小程序,然后javac 类名,进行编译,会在同一文件下生成一个同名的.calss文件;我们这里先怒写一个HelloWorld.java,代码如下:
public class HelloWorld {
public static void main(String[] args){
System.out.println("Hello World!");
}
}
.class文件反序列 ...
题目描述
在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。
题目地址
public class Solution {
// Parameters:
// numbers: an array of integers
// length: the length of array numbers
...
一、类加载器
类加载器是JVM执行类加载机制的前提,其主要任务为根据一个类的全限定名来读取 此类的二进制字节流到JVM内部,然后转换为一个与目标类对应的java.lang.Class对象实例;
类加载器:ClassLoader
①ClassLoader除了将Class加载到JVM之外,还有一个重要的作用就是审查每个类应该有谁加载,它是一种父优先的等级加载机制;
②ClassLoader还有一个重要的作用就是将Class字节码重新解析成JVM统一要求的对象格式;
ClassLoader主要包括defineCl ...
时间限制:1秒 空间限制:32768K 热度指数:127962
本题知识点: 数组
算法知识视频讲解
题目描述
数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。
转自:http://www.cnblogs.com/wqhwe/p/5407468.html
超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。
为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身 ...
hash碰撞冲突:
我们都知道hashCode()的方法是为了产生不同的hash值,但是当两个对象的hash一样时,就发生了碰撞冲突;
解决方法:
我们 常用的解决方法有四种:
①:开放地址法;
②:再hash的方法;
③:拉链法;
④:建立公共溢出区法;
开放地址法:
基本思想:当发生地址冲突的时候,按照某种方法继续探测哈希表中的其他存储单元,直到找到空位置为止;
所用公式 Hi(key) = [H(key) + di]mod m;其中i = ...
题意:
找到单链表倒数第n个节点,保证链表中节点的最少数量为n。
解法:我们看到这个问题首先要考虑的就是边界情况,指针是否为空?n是否为0?n是否 大于链表的长度?
边界定义好,我们就开始写代码了,定义两个指针,第一个指针走到n的时候,第二个指针开始行走,当第一个指针走到指针尾部的时候,返回第二个指针所指向的节点。
题目地址
代码如下:
/**
* Definition for ListNode.
* public class ListNode {
* int val;
* ListNode next;
* ...
百度百科:
来自于《编程珠玑》。所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。
一个byte是占8个bit,如果每一个bit的值就是有或者没有,也就是二进制的0或者1,如果用bit的位置代表数组值有还是没有,那么0代表该数值没有出现过,1代表该数组值出现过。
优点:1.运算效率高,不许进行比较和移位;
2.占用内存少,比如N=10000000;只需占用内存为N/8=1250000Byte=1.25M。
缺点:所 ...
转自http://blog.csdn.net/u013898698/article/details/54846084
1、环形缓冲区的实现原理
环形缓冲区通常有一个读指针和一个写指针。读指针指向环形缓冲区中可读的数据,写指针指向环形缓冲区中可写的缓冲区。通过移动读指针和写指针就可以实现缓冲区的数据读取和写入。在通常情况下,环形缓冲区的读用户仅仅会影响读指针,而写用户仅仅会影响写指针。如果仅仅有一个读用户和一个写用户,那么不需要添加互斥保护机制就可以保证数据的正确性。如果有多个读写用户访问环形缓冲区,那么必须添加互斥保护机制来确保多个用户互斥访问环形缓冲区。
问题描述 我在使用 ...
当客户端不停的向服务端发送数据包的时候,会出现两个 数据包连在一起的情况,这就是我们TCP协议中经常遇到的粘包和拆包;
运输层中最重要的两种协议:UDP和TCP,但是TCP 比 UDP复杂的多;UDP是无连接的,TCP是面向连接的;因此只有TCP才会发生粘包和拆包的情况;
TCP粘包和拆包的表现形式: 第一种情况
当发送两个数据包的时候,每次server读取一个,情况正常;
第二种情况
两个数据包连在了一起,发生了粘包现象;
第三种情况
P1太大或者P2太大的时候,一次只接收了P1或者P ...
浅谈堆栈的区别
堆栈在计算机中是两种不同的数据结构:堆是队列优先,先进先出(FIFO);栈是先进后出(LIFO)的;
堆栈空间分配
栈(操作系统):由操作系统自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。
堆(操作系统): 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收,分配方式倒是类似于链表。
finally是在任何情况下都会执行的:
①当try中有return语句的时候,测试如下:
package study.base_study;
/**
* Created by Taoyongpan on 2017/11/26.
* 测试 try catch finally的执行顺序
*/
public class TryTest {
public static int test1(){
try {
return 1;
}catch (Exception e){
...
生产者 -消费者问题,也称为有界缓冲区问题;两个进程(线程)共享一个公共的固定大小的缓冲区,一个为生产者,将信息放入缓冲区,另一个为消费者,从缓冲区去读取信息;当缓存区满的时候,生产者 还想向其中加入新的数据项的时候,让生产者睡眠,待消费者从缓冲区中取出一个或多个数据的时候,再唤醒生产者,当消费者试图从空的缓冲区中取出数据的时候,消费者就睡眠,直到生产者向其中加入一些数据的时候吧再唤醒它;为了跟踪缓冲区中的数据项数,我们需要一个变量count,如果缓冲区中最多放N个数据项,生产者首先检查count值 是否为N,当相等的时候,生产者沉睡;否则向其中加入一些数据项,并增加count值 ...