自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (1)
  • 问答 (2)
  • 收藏
  • 关注

原创 中文编码集的发展史(ASCII码、GBK、UTF-8)

中文编程界的汉字编码问题,每一个小白的血泪史,每一个小白在处理中文文件时,都无数次想,如果这是一份纯英文的文件,可能现在早就下班在家洗澡了。

2021-06-07 10:46:27 5190

原创 基于ZooKeeper实现配置中心系统

1 背景1.1 分布式技术的成熟,分布式的广泛流行分布式集群下的配置管理实现方式,在当下这个时代已然是分布式的时代,结合上国家倡导的新基建的大背景,云服务和虚拟化也已经从高大上的名词变成了接地气的技术。现在各个公司的服务,能用零碎分布式的多台小型机器部署,就尽量不用大型计算机处理,一个非常经典的原因就是单点故障。1.2 分布式集群上的配置文件需要统一管理现在,我们以JavaWeb为例,你有一个分布式部署的JavaWeb服务,这些服务执行最简单的CRUD工作,下面连接的是MySQL,现在你需要在分

2020-07-18 22:03:00 628

原创 为什么wait/notify必须要强制要求放在synchronized中

为什么wait/notify必须要强制要求放在synchronized中为什么wait/notify必须要强制要求放在synchronized中如果Object.wait()/notify不需要同步为什么要在JVM层面抛异常如果没有wait/notify为什么wait/notify必须要强制要求放在synchronized中在日常开发,我们都知道wait/notify有着非常固定的一套模板,就是下面的样子,synchronized同步块包裹着Object.wait()方法,如果不通过同步块包住的话JVM

2020-07-10 22:59:21 2635 3

原创 LeetCode代码分析——30. Substring with Concatenation of All Words

LeetCode代码分析——30. Substring with Concatenation of All WordsYou are given a string, s, and a list of words, words, that are all of the same length. Find all starting indices of substring(s) in s that...

2018-05-08 16:25:28 239

原创 携程2017春招编程题——拼图(BFS模板题)

携程2017春招编程题——拼图题目解题思路基础的解决算法是BFS队列解决,但是会超时。所以需要去重。 去重要考虑格子重复的情况, 9个格子,所以拼图有9!种状态,建立visited[9!]布尔数组记录访问情况,如何判断两种状态是否相同呢,通过康托展开。 哇,这个康托展开就坑爹了,谁tm学过这个呀,搜了一下才发现原来康拓展开就是通过一个数字来表示一个序列的排列(建立了排列关系 <–> 数字的对应

2017-07-10 00:55:36 1867

原创 LeetCode代码分析——22. Generate Parentheses(DFS模板题)

很简单的一道问题,就是个DFS(深度优先搜索)的问题,我能想到,但是我不会。。。 所以结合本题总结下递归和DFS的解决方法。 如下图,执行的时候按从左到右的顺序,先递归执行左子树,再递归执行右子树。 代码如下:public class Solution { public List<String> generateParenthesis(int n) { List<Str

2017-05-05 20:36:20 390

原创 Web环境中Spring的启动过程

Web环境中Spring的启动过程Web.xml这个要从servlet的起源说起,客户发起HTTP请求,web容器(tomcat)就会收到请求,然后根据web.xml的配置信息,根据HTTP的url请求路径,找到相应的servlet去解决[ doGet() or doPost() ]启动一个WEB项目时,容器首先会读取项目web.xml里面的配置。从里面读两个东西,<listener></liste

2017-03-23 17:50:00 1153

原创 同步异步X阻塞非阻塞

同步阻塞:有一天你饿了,要去肯德基吃饭,然后你去找了服务员,要了一份麦辣鸡腿堡,服务员说“稍等”,然后他过了一天才给你,你就在窗口站着等了一天。等着(汉堡) //就堵这了再做别的同步非阻塞:有一天你饿了,要去肯德基吃饭,然后你去找了服务员,要了一份麦辣鸡腿堡,一份薯条,一份鸡翅,服务员说“稍等”,然后你就回家了,然后你每过一个小时回来挨个问一下,“汉堡好了吗,薯条好了吗,鸡翅好了吗”,汉堡好了,然

2017-03-17 19:12:25 789

原创 百度实习笔记——数据库的分库分表,读写分离

百度实习笔记——数据库的分库分表,读写分离从字面上简单理解,就是把原本存储于一个库的数据分块存储到多个库上,把原本存储于一个表的数据分块存储到多个表上。数据库中的数据量不一定是可控的,在未进行分库分表的情况下,随着时间和业务的发展,库中的表会越来越多,表中的数据量也会越来越大,相应地,数据操作,增删改查的开销也会越来越大;另外,由于无法进行分布式式部署,而一台服务器的资源(CPU、磁盘、内存、IO等

2017-01-03 15:45:30 519

原创 深入理解Java虚拟机 读书笔记——垃圾收集器与内存分配策略

第3章 垃圾收集器与内存分配策略关于Java中的引用类型强引用(Strong Reference):Object obj = new Object(); 这样的常规引用,只要引用还在,就永远不会回收对象。软引用(Soft Reference):在发生内存溢出之前,进行回收,如果这次回收之后还没有足够的内存,则报OOM。弱引用(Weak Reference):生存到下一次垃圾回收之前,无论当前内

2016-11-10 16:11:29 1102

原创 深入理解Java虚拟机 读书笔记

深入理解Java虚拟机 读书笔记Java的内存区域程序计数器,就是操作系统里面的PC指针,指向当前执行的代码的地址,线程私有。Java虚拟机栈,线程私有,每个线程对应一个栈,每个方法对应一个栈帧,一个方法的执行就是出栈入栈的过程。Java堆,线程共享的,用于存放对象的实例,垃圾收集管理的主要区域,大部分GC采用分代收集法,所以GC区分为新生代和老年代。(更详细的垃圾回收部分后面会讲)方法区,

2016-10-31 15:23:34 457

原创 数据知识工程大作业——goodu搜索引擎设计与实现

前言很长一段时间没有写博客,因为最近在忙一些学校的事情,在数据知识工程这门课上,老师留了一个大作业,是做一个简单的搜索引擎,功能需求如下:要求:用户可指定返回结果数显示查询的响应时间排序结果中提取文档中包含查询关键词的片段支持短语(2单词)查询 按照功能的需求,我们最终完成了一个简单的搜索引擎,可以返回指定结果数、显示查询的响应时间,可以对结果进行排序,并且显示搜索

2016-06-09 14:27:13 1505

原创 LeetCode代码分析——6. ZigZag Conversion

按zigzag的顺序把字符串放到二维数组里,然后再按二维数组的顺序读出来首先行数是给定的,我们需要根据行数和字符串的字符个数确定列数1 2 3 4为一块,10/4得到块数,然后加上剩余的。。。总之就得到了列数(注意行数为1的特殊边界条件)然后用一个布尔变量记录走的方向,向下或者向右上向下走,走到界外就回退,然后改为右上一个向右上走,走到界外就回退,然后改为下面一个

2016-04-28 18:56:43 303

原创 LeetCode代码分析——5. Longest Palindromic Substring

最简单粗暴的方法(也是Time Out的方法- -|||)遍历s的每一个子数组,然后分别确定是不是回文,确实了是回文之后再确定是不是比当前记录要大太蠢了,但是不失为一种方法。。。只不是Time Out 233333public class Solution { public String longestPalindrome(String s) { Strin

2016-04-14 20:54:11 248

原创 LeetCode代码分析——4. Median of Two Sorted Arrays

一道找中间数的题,两个排序好的数组最简单粗暴的方法很容易,就是搞个排序(归并分治策略的最后一步合并两个排序好的数组?or快排?),然后找到(m+n)/2位置的数下面这种思想认为找中间数就是找第k = (m+n)/2大的数,找两个数组合起来后第k大的数,分别看A数组和B数组中间(k/2)位置的数,小的数的左半部分可以抛弃,然后剩下的再找。。。直到第一个数组被掏空(就直接找第二个的k位置,注意

2016-04-14 15:37:29 306

原创 DC音乐播放器开发日记

DC音乐播放器开发日记 2016-3-31总结:用Application存储系统级的全局变量,这样每个activity都可以得到service的实例,然后对音乐进行操作了//onBackPressed()会在其它activity在上面的时候也执行(这条是错的,见4-4) 2016-4-1总结:create table favorite (id integer p

2016-04-09 11:46:14 2363

原创 Android中HOME键的执行过程

做了一个音乐播放器,想要在按下返回键后,执行HOME键的效果,于是监听了activity的生命周期,发现但是,当自己改写了onBackPresssed()后发现并没有达到理想的效果,实现HOME键的功能隐藏程序代码如下@Overridepublic void onBackPressed() {     //实现Home键效果    //super.o

2016-03-20 16:17:04 2301

原创 Android开发学习日记

Binary XML file line #8: Must specify unique android:id, android:tag, or have a parent with an id for ...   在创建fragment后执行程序时产生的错误,翻译了一下,原来是fragment必须要起一个id,如果匿名则会产生错误。可以通过fragment和radiogroup的组合

2015-10-18 16:33:20 534

转载 c语言中static作用的简单概述

转自百度知道的用户sirdanstatic int a;int b;void func(void){ static int c; int d;}在这里,a与b都是全局变量,二者的区别是,b可以被别的文件使用,a只能在本文件中使用,这是static对全局变量的作用。c和d的区别是,d是一个自动变量,func函数执行完后,d会自动被释放。但c却不会被释放,下

2015-10-10 19:42:48 374

原创 findViewById返回null

findViewById()函数返回null,一直没搞懂是为什么,后来仔细从头回想了一下,这个函数是view.findViewById(),也就是说如果要找的view并不是当前activity下的,直接写findViewById就会返回null,找不到。所以平时应该心里记住findViewByid()应该是view.findViewById()。

2015-09-19 14:54:19 346

原创 view的setvisibility(8)

这几天看有些源码初始化时view设置setvisibility(8),看不懂这个8是什么,原来是VISIBLE, INVISIBLE, GONE这三个常量本来的值,搞不懂直接写常量名不好吗,非要写成数字setvisibility有三个参数:VISIBLE, INVISIBLE, GONE分别是:VISIBLE=0  可见的INVISIBILITY=4 不可见,但是还占用原来

2015-08-12 18:15:14 2668

转载 Android自定义属性时TypedArray的使用方法

原文章:http://www.2cto.com/kf/201302/189492.html   有时候android传统的页面布局不足以满足我们的需求,常常需要自己定义view,通常继承View,然后重写构造方法以及onDraw等函数,再具体实现自己定义的复杂view。我们知道在给控件赋属性时,通常使用的是android系统自带的属性,比如 android:layout_height=

2015-08-11 20:55:28 299

转载 Thinking In Java有感——java泛型

泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 Java语言引入泛型的好处是安全简单。在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对

2015-01-30 17:34:55 452

原创 android中while循环中的sendMessage方法

while ((length = is.read(bt, 0, bt.length)) > 0) { sumL += length; Message msg = new Message(); msg.what = 22; msgb.putDouble("kb", sumL

2015-01-23 18:13:22 1220

转载 解決BufferedReader读取UTF-8文件中文乱码

读取txt文件乱码:BufferedReader read = new BufferedReader(new FileReader(new File(filename)));解决办法:InputStreamReader isr = new InputStreamReader(new FileInputStream(file), "UTF-8");BufferedReader rea

2015-01-23 17:52:40 365

转载 android颜色配置文件color.xml

#FFFFFF #FFFFF0 #FFFFE0 #FFFF00 #FFFAFA #FFFAF0 #FFFACD #FFF8DC #FFF5EE #FFF0F5 #FFEFD5 #FFEBCD #FFE4E1 #FFE4

2015-01-17 22:12:04 512

转载 android权限大全

访问登记属性android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限获取错略位置android.permission.ACCESS_COARSE_LOCATION,通过WiFi或移动基站的方式获取用户错略的经纬度信息,定位精度大概误差在30~1500米获取精确位置android.

2015-01-17 17:35:02 319

原创 [毕业设计-基于android的手机网盘的设计与实现] java中文件的socket传输问题

上传端: while ((length = fis.read(xml, 0, xml.length)) > 0) { sumL += length; // System.out.println("已传输:"+((sumL/l)*100)+"%"); os.write(x

2015-01-17 16:15:39 915

原创 关于android自动生成的R类

资源文件的使用需要用到R类,

2014-08-20 22:15:49 866

微机原理课设数字键盘矩阵

微机原理课设数字键盘矩阵,西安电子科技大学

2014-03-18

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除