![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
大学期间文章归档
整理了下之前的历史文章,虽然有些价值不是很高,但是是我过去的学习记录,归档保存一下
小风筝0010
退然后进,思然后行。
展开
-
java中的staic 静态变量
在 Android 开发或者 Java 开发中,我们经常遇到这样的代码: private static final int NUMBER = 10; 和 private final int NUMBER = 10; 这两者都是 private 和 final 的,唯一的区别就是 static,那究竟二者有何区别,我们应该怎么区分呢? 对于静态变量在内存中原创 2017-11-14 16:29:53 · 6923 阅读 · 4 评论 -
Java 源码分析HashMap的工作原理及实现
HashMap是什么?有什么特点?initialCapacity 和 loadFactor 是什么?有哪些常用的方法?分别是如何实现的?实例引出HashMapimport java.util.HashMap;import java.util.Map;public class Main { public static void main(String[] args) {原创 2017-05-19 11:27:06 · 805 阅读 · 0 评论 -
[Java] hashCode() 和equals()方法
1 equals() 的作用是什么?2 equals() 与 == 的区别是什么?3 hashCode() 的作用是什么?4 hashCode() 和 equals() 之间有什么联系?接下面,我们讨论另外一个话题。网上很多文章将 hashCode() 和 equals 关联起来,有的讲的不透彻,有误导读者的嫌疑。在这里,我自己梳理了一下 “hashCode() 和 equals()的关系”。原创 2016-12-14 20:42:15 · 837 阅读 · 0 评论 -
String , StringBuilder StringBuffer 的区别
引言String , StringBuilder StringBuffer 的区别,这个问题是面试中经常被问到的经典问题,今天有空,整理下,顺便翻译下国外的一篇文章,以分享给大家,希望对各位有所帮助,也欢迎大家在评论区指出文章不足之处,讨论交流String , StringBuilder StringBuffer 的区别。谢谢各位!原文来源如果你英文很不错,还是看原文比较好Difference Be翻译 2016-10-17 12:23:09 · 434 阅读 · 0 评论 -
Java bean 你所知道的一切
河边邂逅笨笨一天网上观看Data Binding的这场show的时候,发现POJO 和Java bean 这两位美丽的菇凉。他早就听说Java bean 这位倩倩少女,就是不怎么了解。 于是,帅气可爱的笨笨在河边散步。忽然,隐隐约约感觉岸边大树后面,有人偷窥他。一开始,有点害怕。以为是坏人,后来用他大眼睛的余光瞄了几眼,原来是个小姑娘,哈哈······相互了解这下,笨笨灵机一动,来了个反捉迷藏,巧原创 2016-10-05 11:43:17 · 683 阅读 · 0 评论 -
File throws NullPointerException
File类一个File类的对象,表示磁盘上的文件或目录,实际上,用FilePath(文件路径)对这个类来说是个更好的名字。File类没有指定信息怎么从文件读取或者向文件存储先看File 的源代码/** * Creates a new <code>File</code> instance by converting the given * pathname string原创 2016-06-20 22:27:50 · 1041 阅读 · 0 评论 -
JDK,JRE,JVM区别与联系 Java为什么跨平台 ?为什么一次编写,到处运行?
开篇你将学到JDKJREJVM以上三者的区别及联系Java为什么跨平台一次编写,到处运行?先看重点总结不同平台上 JVM 是不同的,JVM屏蔽了平台的差异, JVM 提供了一个不依赖于底层OS和机器硬件的接口,这正是一次编写,到处运行的原因JVM的主要工作职责是解释自己的指令集(字节码)并映射到本地的CPU的指令集或者OS的系统调用。我们平时的开发情况是:利用JDK(调用Java原创 2016-06-16 16:31:43 · 5290 阅读 · 0 评论 -
线程与进程
1. Java中如果没有产生线程,则系统会自动生成一个线程(主线程,我们的程序都是在主线程上执行。main方法就是在主线程上执行的)2. 进程:执行中的程序(程序是静态的,进程是动态的)3 一个进程可以包含一个或多个线程。4. 一个程序实现多个代码同时交替运行就需要产生多个线程5. 多线程是多任务处理的一种特殊形式。6. 多任务处理被所有操作系统所支持。多任务处理有两种类型:a原创 2016-05-25 19:28:14 · 820 阅读 · 0 评论 -
clone branch in git
当我们远程仓库有一个master分支,三个其他次分支的时候,我想克隆其中一个次分支,就用git clone [uri] 却发现克隆下来的不是我想要的,后来明白git clone默认会把远程仓库整个给clone下来; 但只会在本地默认创建一个master分支如果想查看分支,有两个命令1 git branch -r -r--remotesList or de原创 2016-03-30 09:14:41 · 648 阅读 · 0 评论 -
指针和引用的区别
(1)指针:指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元;而引用跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已。 #include<iostream> using namespace std; int main () { //以下三行代码 b是a 的引用。 int a = 1; int &b = a; cout原创 2016-06-02 14:20:44 · 552 阅读 · 0 评论 -
指针变量和指针变量的地址(c/c++)
前几天我舍友问我一道C++的题目,当然一下子没答出来,现在分享一下 先看代码 #include<iostream> using namespace std; int main() { char *s="ABCD"; cout<<" 循环前输出s "<<s<<" "<<&s<<endl; cout<<"循环语句中的输出s "<<endl;原创 2016-05-16 13:43:27 · 2274 阅读 · 0 评论 -
腾讯 一面 二面 2017暑期实习招聘
腾讯一面没有自我介绍,先拿下我的简历,让我在白纸上画,项目的架构。我画了几分钟,然后跟面试官介绍。这次最大的一个败点是,我没有在手机上安装项目应用,这也是线下面试,与线上面试的一个不同点。后来写一个题,合并数组的题。总结,腾讯这次我感觉看项目,清楚项目的整体架构,后很好,最好安装上去,我估计这次是跪了。不过也没关系,我的项目经历确实有点少,这次面试跟我之前的面试不太一样,这次真的比较看实力,原创 2017-04-14 16:36:59 · 2045 阅读 · 0 评论 -
静态内部类、Handlers涉及的内存泄露
* 假如我们在内部类中做耗时的操作或者说有个while(true)死循环,即内部类的对象一直存在; * 那么当这个MainActivity应该被回收时(比如屏幕的旋转)GC发现它还被其内部类的对象引用 * 所以就不会将其回收.假如该Activity中含有大量的资源(比如图片)那么就很容易发生OOM.原创 2017-03-16 12:16:39 · 2465 阅读 · 1 评论 -
Java中 四种引用(强引用 软引用 弱引用 虚引用)
四种引用在Java 1.2 之后,Java地引用的概念进行了补充,以前只有被引用和没有被引用两种状态。扩充之后分为四种,1. 强引用(Strong Reference)2. 软引用(Soft Reference)3. 弱引用(WeakReference)4. 虚引用(Phantom Reference),也称幽灵引用或者幻影引用原创 2017-01-17 00:07:14 · 1462 阅读 · 0 评论 -
synchronized和锁(ReentrantLock) 区别
5ibc.net纯属抄袭本文 转载请注明出处 作者:小风筝0010 原文:http://blog.csdn.net/zheng548/article/details/54426947区别一:API层面synchronized使用synchronized既可以修饰方法,也可以修饰代码块。 synchronized修饰方法时,如下所示://synchronized修饰一个方法时,这个原创 2017-01-16 16:12:59 · 10949 阅读 · 0 评论 -
Android系统架构
Android 系统架构图首先看一张来自维基百科的图片大致分为四层架构:Linux内核层系统运行库层应用框架层应用层各层简单介绍Linux内核层(Linux kernel)Android系统是基于Linux内核的,这一层为Android设备的各种硬件提供了底层的驱动,如显示驱动,音频驱动,蓝牙驱动,Wi-Fi驱动。系统运行库层(Libraries)该层通过一些C/C++库来为Android原创 2017-01-12 22:55:07 · 979 阅读 · 0 评论 -
总线的特性与性能指标 总线仲裁
为什么使用总线?计算机使用总线结构便于增减外设,同时减少了信息传输线的条数。什么是总线?总线的英文是“bus”,说明总线是连接各个部件的公共信息传输线,是各个部件共享的传输介质。总线上信息的传输串行并行总线的分类片内总线 芯片内部的总线系统总线 计算机各部件之间的信息传输线 数据总线: 双向 与机器字长 存储字长有关。数据总线的宽度决定CPU与外界的数据传输速度。原创 2016-06-05 23:45:43 · 2437 阅读 · 0 评论 -
如何提高机器速度 并行性
如何提高机器速度?提高仿存速度 :高速芯片 Cache 多体并行提高I/O与主机的传输速度: 中断 DMA 通道 I/O处理机 多总线提高运算器速度:告诉芯片 改进算法 快速进位链提高整机处理能力:高速器件 改进处理器体系结构,开发系统的并行性系统的并行性什么是并行?并发 :两个或两个以上在同一时间段发生同时 : 两个或两个以上在同一时刻发生并行的等级?过程级(进程 程序)原创 2016-06-05 23:19:08 · 1136 阅读 · 0 评论 -
存储器 分层的存储体系 虚拟存储器 寄存器与缓存 冯·诺依曼体系结构
存储器 分层的存储体系 虚拟存储器 寄存器与缓存 冯·诺依曼体系结构原创 2016-06-04 22:37:27 · 3285 阅读 · 2 评论 -
线程 vs 进程
进程与线程的区别是很重要的一个知识点,也是面试中经常问到的。网上转载博客痕迹明显,且千篇一律。我简单提取下,记录下来,希望能帮到你。另外在 LeetCode 上也有关于此问题的讨论,可以直接浏览“Read more” 部分。引入进程之前–多道程序设计概述多道程序设计技术是操作系统最早引入的技术,它的设计思想是允多个程序同时进入内存并运行,其目的是为了CPU的利用率,进而提高系统效率。特点多道程序设原创 2017-01-22 19:51:54 · 18204 阅读 · 3 评论 -
30天自制操作系统 (一个操作系统的实现)
自制操作系统 (一个操作系统的实现)原创 2016-06-01 21:31:04 · 10446 阅读 · 10 评论 -
mysql数据库 check约束无效
创建table首先 创建一个数据表Student.字段id 约束(id > 0).字段性别 约束为男女。如图:插入数据 聪明的你,一定发现里面的check约束无效。id 为-2 不是id > 0,却通过了。sex也不是“male”或“female”,也通过了。为什么约束无效?查看MySql官方文档 发现这句话 (查看官方文档链接需要科学上网) CHECK The CHECK clause原创 2016-12-07 10:13:34 · 8820 阅读 · 1 评论 -
java.sql.SQLException(jdbc连接不到oracle)
JavaWeb实训过程中, 在Java和Oracle连接不成功。报错如下:java.sql.SQLException: Undefined Errorat oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:412)at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalCon原创 2016-07-01 22:04:52 · 14210 阅读 · 1 评论 -
Java连接Oracle数据库
概要导入JDBC的jar包加载JDBC驱动程序建立与数据库的连接执行相应的SQL语句,与数据库交互关闭连接,释放资源详细步骤准备条件安装好Oracle数据库,不需要SQL developer 或者plsqldev 这些图形化工具,当然有了更好,其实我觉得,用好sqlplus 命令行工具比图形化软件更好些,比如git使用的时候也不建议使用图形化界面工具。简单的git bash 就好。安原创 2016-06-29 16:59:28 · 761 阅读 · 0 评论 -
前缀表达式 先序遍历 深度优先 语法树的联想
本文是由一道题目的联想而成: 写出表达式((A+B)C-(D-E)(F+G))的前缀表达式() 答案是: -+ABC-DE+FG联想一:前缀记法、中缀记法和后缀记法 根据前缀表达式的定义去写出答案前缀记法、中缀记法和后缀记法都是对表达式的记法。它们之间的区别在于运算符相对与操作数的位置不同:前缀表达式的运算符位于与其相关的操作数之前;中缀和后缀同理。举例: (3 + 4)原创 2016-11-14 21:24:35 · 2276 阅读 · 0 评论 -
矩阵快速幂的应用题 -- 魔力手环
题目描述小易拥有一个拥有魔力的手环上面有n个数字(构成一个环),当这个魔力手环每次使用魔力的时候就会发生一种奇特的变化:每个数字会变成自己跟后面一个数字的和(最后一个数字的后面一个数字是第一个),一旦某个位置的数字大于等于100就马上对100取模(比如某个位置变为103,就会自动变为3).现在给出这个魔力手环的构成,请你计算出使用k次魔力之后魔力手环的状态。 输入描述:输入数据包括两行: 第一行为原创 2017-05-01 20:48:48 · 2700 阅读 · 0 评论 -
洗牌 --网易有道2017内推编程题
题目描述 洗牌在生活中十分常见,现在需要写一个程序模拟洗牌的过程。 现在需要洗2n张牌,从上到下依次是第1张,第2张,第3张一直到第2n张。首先,我们把这2n张牌分成两堆,左手拿着第1张到第n张(上半堆),右手拿着第n+1张到第2n张(下半堆)。接着就开始洗牌的过程,先放下右手的最后一张牌,再放下左手的最后一张牌,接着放下右手的倒数第二张牌,再放下左手的倒数第二张牌,直到最后放下左手的第一原创 2017-04-05 23:03:13 · 1349 阅读 · 0 评论 -
有趣的数字--腾讯2017暑假实习生招聘笔试
题目 小Q今天在上厕所时想到了这个问题:有n个数,两两组成二元组,差最小的有多少对呢?差最大呢?输入描述输入包含多组测试数据。 对于每组测试数据: N - 本组测试数据有n个数 a1,a2…an - 需要计算的数据 保证: 1<=N<=100000,0<=ai<=INT_MAX.输出描述对于每组数据,输出两个数,第一个数表示差最小的对数,第二个数表示差最大的对数。输入例子6原创 2017-04-04 14:05:40 · 812 阅读 · 0 评论 -
hihoCoder 1039 字符消除 详细总结题解
原题回味原题链接#1039 : 字符消除描述小Hi最近在玩一个字符消除游戏。给定一个只包含大写字母”ABC”的字符串s,消除过程是如下进行的:1)如果s包含长度超过1的由相同字母组成的子串,那么这些子串会被同时消除,余下的子串拼成新的字符串。例如”ABCCBCCCAA”中”CC”,”CCC”和”AA”会被同时消除,余下”AB”和”B”拼成新的字符串”ABB”。2)上述消除会反复一轮一轮进行,直到新的原创 2017-04-01 10:47:09 · 850 阅读 · 0 评论 -
求二叉树的深度,判断该树是不是平衡二叉树
剑指offer两道编程题二叉树深度输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。求二叉树的深度,有三种方法:1. **递归**,这也是很多人非常容易想到的,递归实际也是深度优先的思想(DFS),时间复杂度为O(lgN),但是空间复杂度最坏为O(N),当二叉树退化为链表的时候。2. **循环**,这种方法不会有递归方法容易出现的栈溢出风原创 2017-03-25 10:30:07 · 3031 阅读 · 1 评论 -
【常见面试算法题】之二分搜索
[魔力手环--2017网易编程应用题] 二分搜索(英语:binary search),也称折半搜索(英语:half-interval search)[1]、对数搜索(英语:logarithmic search)[2],是一种在有序数组中查找某一特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查原创 2017-02-17 22:46:23 · 1238 阅读 · 2 评论 -
排序算法(一)冒泡排序
问题给定n个整数,将它们按照(非降)序排序。观察排序算法有很多种,今天就介绍一个简洁且容易理解的算法——冒泡排序熟悉规则 接下来观察以下两张图片,熟悉一下游戏规则。这张图片告诉我们:有序序列中,任意一对相邻元素有序。 来看另一张图片 这张图片告诉我们:无序序列中,总有一对相邻元素无序。我们要做的我们要做的是 依次比较每一对相邻元素,若逆序,交换之。 若整趟都没有进行交换,则排序完成原创 2016-10-06 22:12:19 · 803 阅读 · 0 评论 -
单例模式,你所应该知道的一切
由于要求只能生成一个实例,因此我们必须把构造函数设为**私有函数**以防止被多次创建实例。我们可以声明一个静态(static)的实例,在需要的时候创建该实例,也就是实现懒加载。能在多线程中工作但效率不高(懒汉式,线程安全)双重检查锁定模式利用静态构造函数静态内部类 实现单例模式原创 2017-02-15 16:13:59 · 902 阅读 · 3 评论 -
Git SSH配置无误 但无法连接github远程仓库 “Host Key Verification Failed”
缘起网上有很多在 github 添加 SSH 的方法,官方也有指导。 Connecting to GitHub with SSH 但是,我按照教程去配置的时候,感觉哪里都没有出错,可就是无解用ssh访问github。百试不得其果。 有一点我很疑惑。那就是 路径下C:\Users(yourname).ssh 只有两个文件: - id_rsa - id_rsa.pub 而没有文件known原创 2018-01-16 21:14:32 · 8934 阅读 · 14 评论 -
Python3.6 numpy opencv3.2 安装 及 ImportError: DLL load failed: 找不到指定的模块
1.下载安装Python进入Python官方网站,点击Downloads,选择对应的版本下载即可2.安装pip怎么在windows下安装pip?3.安装numpy4. 安装opencv采坑安装opencv的时候,我是参考这个说明指导去安装的,如下: 但是却遇到了问题: ImportError: DLL load failed: 找不到指定的模块问题解决多亏这篇问答的帮助: DLL lo原创 2017-06-04 09:29:15 · 11941 阅读 · 0 评论 -
Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'
异常描述Android Studio 编译运行的时候,出现以下错误: Error:Executionfailedfortask’:app:transformResourcesWithMergeJavaResForDebug’. com.android.build.api.transform.TransformException: com.android.builder.packaging.原创 2017-05-25 16:20:48 · 1093 阅读 · 0 评论