- 博客(34)
- 资源 (43)
- 收藏
- 关注
原创 深克隆:使用序列化进行克隆
浅克隆:原始类型为值传递,对象类型仍为引用传递。 深克隆:所有元素或属性均完全复制,与原对象完全脱离,也就是说所有对于新对象的修改都不会反映到原对象中。这里主要讲深克隆,要克隆序列化的对象,只需将对象序列化输入字节流中,然后再从字节流读出,这样就可以创建一个新的对象了,新对象和母对象不存在引用共享问题,真正实现对像的深克隆。public class SerialCloneable implemen
2017-04-29 16:34:15 1166
原创 Linux命令学习笔记(一)
1、性能监控(1)监控CPU使用情况 —— uptime命令uptime–查看系统当前状态 root:/home# uptime 18:13:05 up 16:56, 5 users, load average: 0.71, 0.19, 0.06 18:13:05: 当前时间 16:56: 系统已运行的时间 5 users: 当前在线用户 load average: 0...
2017-04-29 15:12:20 872
原创 Java并发编程 | 第七篇:ThreadLocal
ThreadLocal介绍保证所有对象的线程安全除了可以使用锁,还有使用ThreadLocal,当使用ThreadLocal维护变量,ThreadLocal为每个使用变量的线程提供独立的变量副本,所以每一个线程可以独立修改自己的副本,从而隔离了多个线程对数据的访问冲突,在编写多线程代码时,可以把不安全的变量封装到ThreadLocal。前面提到的锁是“以时间换空间”,让不同的线程排队访问同...
2017-04-29 11:16:54 1140
转载 面试心得与总结—BAT、网易、蘑菇街
先说一下LZ的基本情况,LZ是四川某985学校通信专业的研究生(非计算机),大学阶段也就学了C语言,根本没想过最后要成为码农。大四才开始学Java,研一下开始学Android,所以LZ觉得自己开始就是一个小白,慢慢成长起来的。一、心态心态很重要!心态很重要!心态很重要!重要的事情说三遍,这一点我觉得是必须放到前面来讲。找工作之前,有一点你必须清楚,就是找工作是一件看缘分的事情,不是你很牛逼,你就一定
2017-04-27 14:56:22 2623
原创 ubuntu server 打开中文
这里只讲tty的中文方块乱码默认的tty只能显示一个字节128或256字符,你可以用setfont命令去改tty的字体,但是永远只能局限在1字节。不能支持utf-8多字节,所以我们需要安装fbterm安装fbterm[plain] view plain copy print?sudoapt-getinstallfbtermsudo apt-get install fbterm加vide
2017-04-26 09:46:18 933
原创 判断数组是否某二叉搜索树的后序遍历
解题思路:由于是后序遍历结果,也就是数组最后一个元素是根节点root,按照二叉搜索树的定义,数组前面的元素中前半部分比root小,后半部分比root大,我们通过遍历数组跟root比较,如果比root大,记录这个位置i,从这个i到直到最后的元素跟root比较,如果还有比root小的元素,说明不符,返回false,然后递归,检测所有子树public class Solution { public
2017-04-24 23:50:12 729
原创 Akka之Hello World
Akka介绍http://blog.csdn.net/liubenlong007/article/details/53782966Actor介绍在使用Akka进行并行程序开发时,我们的关注点不在线程,因为线程调度已经被Akka框架进行封装,我们关注一个全新的执行单元,就是Actor,Actor对象之间的交流和一般的对象的函数调用不一样,它们是通过显示的消息发送来传递信息的hello world1、第
2017-04-24 22:52:42 923
原创 Java并发编程 | 第六篇:Fork/Join框架
Fork/Join框架的介绍Fork/Join框架是Java7提供了的一个用于并发执行任务的框架,是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架Fork/Join执行逻辑 工作窃取算法工作窃取算法是指某个线程从其他队列中窃取任务来执行 在一般情况下,一个物理线程实际需要处理多个逻辑任务,因此每个线程必然需要拥有一个任务队列。比如,线程A已经把...
2017-04-24 18:56:06 970
原创 Java并发编程 | 第五篇:Java并行模式之并行流水线
假如现在有两个数,B和C。如果要计算(B+C)*B/2,那么这个运算过程就是无法并行的。原因是,如果B+C没有执行完成,则永远算不出(B+C)*B,这就是数据相关性。 可以借鉴日常生产中的流水线思想,首先将计算过程拆分为三个步骤: P1:A=B+C P2:D=AxB P3:D=D/2 上述步骤中P1、P2和P3均在单独的线程中计算,并且每个线程只负责自己的工作。此时,P3的计算结果就是最...
2017-04-24 16:54:33 2270
原创 TCP的拥塞控制机制
介绍计算机网络中的带宽、交换结点中的缓存和处理机等,都是网络的资源。在某段时间,若对网络中某一个资源的需求超过了该资源所能提供的可用部分,网络的性能就会变坏,这种情况就叫做拥塞。拥塞控制就是防止过多的数据注入网络中,这样可以使网络中的路由器或者链路不会导致过载。拥塞控制是一个全局性的过程,和流量控制不同,流量控制指点对点通信量的控制慢开始与拥塞避免发送方维持一个叫拥塞窗口(cw
2017-04-24 16:27:48 3804
原创 Java并发编程 | 第四篇:Future模式
一、什么是Future模型常见的多线程设计模式有:单例模式、不变模式、生产者-消费者模式、Future模式;而这里介绍Future模式,它的核心思想就是异步调用。当我们需要调用一个函数,但是这个函数执行很慢,如果我们不需要马上知道结果,我们可以立即返回,让它在后台慢慢处理这个请求,对于调用者来说,可以先处理一些其他任务,这个就充分利用等待时间,在真正需要数据场合再去尝试获取需要的数据。 ...
2017-04-24 15:56:39 1421 4
原创 Java并发编程 | 第三篇:数据共享通道之BlockingQueue
首先BlockingQueue是一个接口,它的实现类是这些 里面有基于数组实现的ArrayBlockingQueue,适合有界队列和基于链表实现的LinkedBlockingQueue,适合无界队列,因为长度可以动态增加为什么BlockingQueue可以做数据共享通道因为BlockingQueue会让服务线程(不断从队列中取任务,然后进行处理的线程)在队列为空时进行等待,当新的...
2017-04-24 00:20:32 870
转载 apache的坑:以一个访问权限不允许的方式做了一个访问套接字的尝试解决方法
今天安装apache的时候,到最后出现了一个错误提示,其中的中文提示是:以一个访问权限不允许的方式做了一个访问套接字的尝试。此外,还有一大堆的英文提示,如:could not bind to address 0.0.0.0:80no listening sockets available, shuttng downunable to open logscould not bind to addres
2017-04-23 12:13:46 6451 4
原创 按层打印二叉树
解题思路:准备一个queue放每一层TreeNode,用nLast记录当前层当时最右节点,last记录当前层实际最右节点, cur是当前节点,如果当前节点就是最右节点,就把nLast当前最右节点赋值给last,curLine用于存储每一层节点数据,当是当前节点是该层最右节点,就把该层的curLine添加到nodes,然后创建新的curLine来装下一层节点数据import java.util.Ar
2017-04-22 23:50:28 1015
转载 java 字节流与字符流的区别
字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢?实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件,如图12-6所示。下面以两个写文件的操作为主进行比较,但是在操作时字节流和字符流的操作完成之后都不关闭输出流。范例:使用字节流不关闭执行Java代码 package org.lxh.demo12
2017-04-22 19:55:52 700
原创 事务处理及锁定
介绍事务处理:将多个命令作为一个整体来执行,从而保证数据整合性的机制。与锁定机制和分离概念结合,可以看作保持数据依赖的同时,维护数据库性能的方法。存储引擎MySQL功能可以分为两个部分,外层部分主要完成与客户端的连接以及事前调查SQL语句的内容的功能,内存部分就是所谓的存储引擎,它负责接收外层的数据操作指示,完成实际的数据输入输出以及文本操作工作其工作模式图: MySQL提供
2017-04-21 23:07:54 1195
原创 动态规划入门
首先,我们看一下这道题 输入格式:5 //表示三角形的行数 接下来输入三角形73 88 1 02 7 4 44 5 2 6 5在上面的数字三角形中寻找一条从顶部到底边的路径,使得路径上所经过的数字之和最大 我们使用D(i,j)来表示第i行的第j个数 MaxNum(i,j)来表示D(i,j)到底边的
2017-04-21 00:23:49 706
原创 表的维护和改造
1、修改表的列结构alter table命令格式如下: 修改列的定义:alter table….modify 追加列:alter table….add 修改列的名称和定义:alter table….change 删除列:alter table….drop 1、修改列的数据类型原user1表结构 通过语句alter table 表名 modify 列名 数据类型; user_name
2017-04-20 23:26:23 902
原创 MySQL之join语句
介绍join用于多表中字段之间的联系,语法如下...from table1 inner|left|right join table2 on...首先建表 1、inner join基于连接谓词将两张表的列组合在一起,产生新的结果表select * from user1 inner join user2 on user1.user_name=user2.user_name; 2、left joi
2017-04-20 20:57:58 4577
转载 android相关知识
相关阅读:吊炸天!74款APP完整源码![干货精品,值得收藏]超全的一线互联网公司内部面试题库,有了它,妈妈再也不用担心我进不了大公司了![干货,阅后进BAT不是梦]面试心得与总结—BAT、网易、蘑菇街[精品干货]面试题库第二波:java面试一定会遇到的56个面试题[面经福利]如何进入百度、阿里,一个6年Android老司机的面经2016年百度校招小结:我做技术面试官的一些思考(想进百度的快看)
2017-04-19 20:37:17 851
原创 Java求最大公约数和最小公倍数
import java.util.Scanner;public class Muitilpie { public static void main(String[] args) { Scanner in=new Scanner(System.in); int x=in.nextInt(); int y=in.nextInt();
2017-04-19 00:34:05 1504
转载 Java异常体系结构
一、 异常的概念和Java异常体系结构 异常是程序运行过程中出现的错误。本文主要讲授的是Java语言的异常处理。Java语言的异常处理框架, 是Java语言健壮性的一个重要体现。 Java把异常当作对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。 在Java API中已经定义了许多异常类,这些异常类分为两大类,错误Error和异常E
2017-04-18 00:21:06 766
原创 MySQL入门基本知识
1、show databases; 查看服务器内的数据库2、create database home; 创建数据库home3、drop database home; 删除数据库home4、grant all privileges on home.* to root@localhost identified by ‘12345678’; 创建操作数据库的专用用户root,创建新用户时使用gra
2017-04-17 17:19:18 648
转载 系统调用的实现原理
系统调用的实现原理 目录(?)[+]系统调用概述Linux下系统调用的实现系统调用概述 计算机系统的各种硬件资源是有限的,在现代多任务操作系统上同时运行的多个进程都需要访问这些资源,为了更好的管理这些资源进程是不允许直接操作的,所有对这些资源的访问都必须有操作系统控制。也就是说操作系统是使用这些资源的唯一入口,而这个入口就是操作系统提
2017-04-16 21:00:24 1024
原创 Android后台执行的定时任务
1、在Activity启动服务public class ServiceActivity extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCrea
2017-04-16 10:52:33 911
原创 冒泡排序、快速排序、选择排序
1、冒泡排序原理:临近的两个数字比较,按照从小到大或者从大到小进行排序,一共进行N趟排序(N是数组的长度) 时间复杂度:O(n^2)@Test public void bubbleSort() { int a[]={18,4,26,3,99,54}; int length=a.length; for(int j=0;jl
2017-04-16 10:46:27 798
原创 堆排序与归并排序
堆堆实际上是一颗完全二叉树,其任何一非叶节点满足 key[ i ]<=key[ 2i+1 ]&&key[ 2i+2 ]或者相反,也就说任何非叶节点的关键字不大于或者不小于其左右孩子节点的关键字堆排序的思想1、建立堆 ,此时得到的是无序堆2、堆顶与堆的最后一个元素交换位置,此时得到是新的无序堆和新的有序堆代码实现public class HeapSort { public static vo
2017-04-16 10:43:10 913
转载 图片的三级缓存
如今的 Android App 经常会需要网络交互,通过网络获取图片是再正常不过的事了假如每次启动的时候都从网络拉取图片的话,势必会消耗很多流量。在当前的状况下,对于非wifi用户来说,流量还是很贵的,一个很耗流量的应用,其用户数量级肯定要受到影响特别是,当我们想要重复浏览一些图片时,如果每一次浏览都需要通过网络获取,流量的浪费可想而知所以提出三级缓存策略,通过网络、本地、内存三级缓存图片,来
2017-04-13 16:35:19 882
转载 Android的MVP模式
MVP模式 Android MVP PatternAndroid MVP 模式1 也不是什么新鲜的东西了,我在自己的项目里也普遍地使用了这个设计模式。当项目越来越庞大、复杂,参与的研发人员越来越多的时候,MVP 模式的优势就充分显示出来了。导读:MVP模式是MVC模式在Android上的一种变体,要介绍MVP就得先介绍MVC。在MVC模式中,Activity应该是属于View这一层。而实
2017-04-08 11:01:57 1752
原创 ViewPager相互嵌套,导致里层ViewPager无法滑动问题解决
因为要设置外层ViewPager无法滑动,所以只能自定义一个ViewPager,继承ViewPager改写它的方法,当时不小心改写了onInterceptTouchEvent()方法 @Override public boolean onInterceptTouchEvent(MotionEvent ev) { return true; }onInterceptTou
2017-04-05 09:38:25 830
转载 字符串匹配的KMP算法
字符串匹配的KMP算法 字符串匹配是计算机的基本任务之一。 举例来说,有一个字符串”BBC ABCDAB ABCDABCDABDE”,我想知道,里面是否包含另一个字符串”ABCDABD”? 许多算法可以完成这个任务,Knuth-Morris-Pratt算法(简称KMP)是最常用的之一。它以三个发明者命名,起头的那个K
2017-04-04 11:51:54 599
原创 Java并发编程 | 第二篇:ReentrantLock重入锁
首先重入锁用ReentrantLock来实现的,关于重入锁ReentrantLock的几个重要方法: 1、lock():获得锁,如果锁被占用,只能等待 2、lockInterruptibly():获得锁,可以响应中断 3、tryLock():尝试获得锁,如果成功返回true,失败返回false,该方法不等待,立即返回 4、tryLock(long time,TimeUnit unit):设...
2017-04-02 11:30:40 872
原创 做项目过程中遇到的那些坑
Viewpager的适配器@Override public Object instantiateItem(ViewGroup container, int position) { BasePager basePager=basePagers.get(position);//各个子页面的实例 View rootView=basePa
2017-04-02 11:21:52 2047
原创 使用Intent传递对象
参考:《第一行代码》1、Serializable方式Serializable是序列化的意思,表示将一个对象转换成可存储或可传输的状态。序列化后的对象可以在网络上进行传输,也可以存储在本地,序列化的方法就是让一个类去实现Serializable这个接口2、Parcelable方法使用Parcelable也可以实现相同的效果,不过不同于将对象序列化,Parcelable方式的实现原理是将一个完整的对象分
2017-04-01 00:23:19 593
大型网站技术架构+核心原理与案例分析+李智慧 (带书签).pdf
2017-09-05
思维导图.rar
2019-07-19
Java高级架构师面试必备思维导图
2019-06-08
基于Springboot高并发商品限时秒杀系统
2018-06-21
基于Zookeeper+Netty+Protostuff实现的简单RPC框架源码
2018-06-21
一款社交APP,采用EasyUI+环信+百度地图+MVP进行开发源码
2018-06-21
Java后端面试知识点总结
2018-06-21
android面试题集锦(珍藏)
2018-02-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人