Manifest.json文档说明

    Manifest.json文件是5+移动App的配置文件,用于指定应用的显示名称、图标、应用入口文件地址及需要使用的设备权限等信息。是扩展的配置文件,指明了扩展的各种信息。     一个manifest.json格式如下: {     // 必须的字段3个     &qu...

2018-11-13 15:11:55

阅读数 297

评论数 0

maven学习

1.什么是maven     maven是基于项目对象模型(POM),可以通过一小段描述信息(配置文件)来管理项目的构建、报告和文档的软件项目管理工具。是一个采用纯Java编写的开源项目管理工具,所有的项目配置信息都被定义在一个叫做POM.xml的文件中,通过该文件maven可以管理项目的整个生...

2018-11-08 11:01:47

阅读数 48

评论数 0

git常用命令熟悉

workspace:工作区 Index/Stage:暂存区 Repository:仓库区(本地仓库) Remote:远程仓库 新建代码库 # 在当前目录新建一个Git代码库 $ git init # 新建一个目录,将其初始化为Git代码库 $ git init [project-n...

2018-11-08 10:08:33

阅读数 31

评论数 0

Hive学习笔记1

Hive:数据仓库; Hive:解释器,编译器,优化器等; Hive运行时,元数据存储在关系型数据库里面。 Hive的架构 通过命令行接口接入Hive; 把SQL翻译成map-reduce。数据存在HDFS中,元数据(表信息,表字段)放在关系型数据库中,任务转化成map-reduce...

2018-10-22 19:28:11

阅读数 27

评论数 0

字符串编辑距离

    字符串的编辑距离,又称为Levenshtein距离。是利用字符操作,把字符串A转换成字符串B所需要的最少操作数。其中,字符操作包括: 删除一个字符 插入一个字符 修改一个字符     例如对于"hello"和"hell&q...

2018-09-22 19:42:51

阅读数 32

评论数 0

跳台阶问题

1.输出斐波那契数列的第n项。 直接上代码: public class Fibonacci { public static int fibonacci(int n){ if(n==0){ return 0; } if(n==1){ return 1; } i...

2018-09-20 19:59:01

阅读数 26

评论数 0

Lambda表达式详解

    Java 8最值得学习的特性就是Lambda表达式。Lambda写的好可以极大减少代码冗余,同时可读性也好过冗长的内部类,匿名类。 举例说明一下: (1)创建线程传统写法: Thread t1=new Thread(new Runnable() { @Override ...

2018-09-18 11:30:38

阅读数 25

评论数 0

设计模式之单例模式

1.懒汉式,线程不安全 public class Demo1 { private static Demo1 instance; private Demo1(){} public static Demo1 getInstance(){ if(instance==null){ in...

2018-09-18 10:31:14

阅读数 36

评论数 0

设计模式之适配器模式

    适配器模式是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器。将内存卡插入读卡器,再将读卡器插入笔记本,这样就可以通过笔记本...

2018-09-18 09:36:54

阅读数 27

评论数 0

计算二叉树高度的三种方法

  递归 public class 递归 { class TreeNode{ int val; TreeNode left; TreeNode right; public TreeNode(int value){ this.val=value; } } pub...

2018-09-17 20:23:39

阅读数 7931

评论数 3

二叉树镜像

求二叉树镜像。 public class Solution { public void Mirror(TreeNode root) { if(root==null){ return; } if(root.left=...

2018-09-17 16:15:29

阅读数 35

评论数 0

Java代理模式之动态代理

    代理模式是设计模式中非常重要的一种类型。代理模式从类型上来说,可以分为静态代理和动态代理两种类型。     假设一个场景,有一个蛋糕店,卖的蛋糕都是用蛋糕机做的,而且不同种类的蛋糕由不同的蛋糕机来做,有水果蛋糕机,巧克力蛋糕机等。它们卖的面包片也是面包机做的,不同种类的面包机也是由不同的...

2018-09-15 11:28:04

阅读数 52

评论数 0

Arrays.sort和Collections.sort实现原理解析

Collections.sort方法底层就是调用的Arrays.sort方法。 写一个例子看源码: public static void main(String[] args) { List<String> strings = Ar...

2018-09-12 16:12:24

阅读数 973

评论数 1

Integer==int会发生什么情况?

当Integer和int类型进行比较时,Integer是int的包装类,Integer就会自动拆箱为int型,所以还是相当于两个int比较。

2018-09-12 15:32:45

阅读数 118

评论数 0

B树、B+树及索引

B树:     每个节点都存储key和data,所有节点组成这棵树,并且叶子节点指针为null。 B+树:     只有叶子节点存储data,叶子节点包含了这棵树的所有键值,叶子节点不存储指针。后来在B+树上加了顺序访问指针,也就是每个叶子节点增加一个指向相邻叶子节点的指针。可以像遍历链表一...

2018-09-12 11:20:53

阅读数 77

评论数 0

AQS理解

    AbstractQueuedSynchronizer简称AQS,是一个用于构建锁和同步容器的框架。事实上concurrent包内许多类都是基于AQS构建,例如ReentrantLock、Semaphere、CountDownLatch、FutureTask等。AQS解决了在实现同步容器时设...

2018-09-11 20:53:59

阅读数 84

评论数 0

MVCC

    在并发读写数据库时,读操作可能会不一致的数据(脏读)。为了避免这种情况,需要实现数据库的并发访问控制,最简单的方式就是加锁访问。由于加锁会将读写操作串行化,所以不会出现不一致的状态。但是读操作会被写操作阻塞,大幅降低读性能。在Java并发包中,有copyonwrite系列的类,专门用于优化...

2018-09-11 20:00:21

阅读数 33

评论数 0

volatile关键字

    java提供了一种稍弱的同步机制,volatile变量,用来确保将变量的更新操作通知到其他线程。当把变量声明为volatile类型的时候,编译器与运行时都会注意到这个变量是共享的,所以不会将该变量上的操作与其他内存操作一起重排序。volatile变量不会被缓存在寄存器或者对其他处理器不可见...

2018-09-05 16:52:48

阅读数 51

评论数 0

CAS操作是怎么实现的

    CAS是compare and swap,翻译过来就是比较并交换。维护三个变量值,一个是内存值V,一个是期望的旧的值A,一个是要更新的值B。更新一个变量的时候,只有当预期值A与内存V中的值相等的时候,才会执行更新操作,把内存V的值改为B。     从思想上来说,synchronized属...

2018-09-05 14:26:06

阅读数 464

评论数 0

TOP k问题

题目:有1千万条短信,有重复,以文本文件的形式保存,一行一条,有重复。请用5分钟时间,找出重复出现最多的前10条。 解析:对于本题来说,某些面试者想用数据库的办法来实现:首先将文本导入数据库,再利用select语句某些方法得出前10条短信。但实际上用数据库是满足不了5分钟解决这个条件的。这是因...

2018-09-05 09:14:22

阅读数 85

评论数 0

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