Java
文章平均质量分 68
Mylin
这个作者很懒,什么都没留下…
展开
-
【1】深度学习之饮水思源:从感知机到深度网络
Java语言实现:https://github.com/ivan-vasilev/neuralnetworks (注:本文译自一篇博客,作者行文较随意,我尽量按原意翻译,但作者所介绍的知识还是非常好的,包括例子的选择、理论的介绍都很到位,由浅入深,源文地址) 近些年来,人工智能领域又活跃起来,除了传统了学术圈外,Google、Microsoft、facebook等工业界优秀企业也转载 2016-05-27 09:21:32 · 897 阅读 · 0 评论 -
Java多线程之三生产者消费者模式
阻塞队列原创 2015-09-07 19:00:46 · 393 阅读 · 0 评论 -
精选30道Java笔试题
都是一些非常非常基础的题,是我最近参加各大IT公司笔试后靠记忆记下来的,经过整理献给与我一样参加各大IT校园招聘的同学们,纯考Java基础功底,老手们就不用进来了,免得笑话我们这些未出校门的孩纸们,但是IT公司就喜欢考这些基础的东西,所以为了能进大公司就~~~当复习期末考吧。花了不少时间整理,在整理过程中也学到了很多东西,请大家认真对待每一题~~~ 下面都是我自己的答案非官方,仅供转载 2015-09-27 19:34:46 · 439 阅读 · 0 评论 -
阿里在线测试题目
1. -7的二进制补码表示为:正数的补码是自身,负数的补码是原码的高位不变,数值位取反加1那么-7是负数,原码:1000 0111,反码:1111 1000,补码:1111 10012.以下四种介质中,带宽最大的是________。双绞线也称为双扭线,是最古老但又最常用的传输媒体。把两根互相绝缘的铜导线并排放在一起,然后用规则的方法绞合起来(这样做是为了减少原创 2015-08-23 00:41:23 · 8574 阅读 · 0 评论 -
剑指offer 不用加减乘除做加法
很巧妙的一道题目原创 2015-08-21 23:08:52 · 275 阅读 · 0 评论 -
Leetcode Remove Duplicates from Sorted Array
排序数组,重复元素最多有n个,通用程序public static int removeDuplicates(int[] nums,int k) { int i = 0; for (int n : nums) if (i nums[i-k]) nums[i++] = n; return i;原创 2015-09-28 14:27:49 · 408 阅读 · 0 评论 -
Leetcode Triangle
Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent numbers on the row below.For example, given the following triangle[ [2], [3,4], [原创 2015-09-26 11:37:08 · 334 阅读 · 0 评论 -
Leetcode Word Break
Given a string s and a dictionary of words dict, determine if s can be segmented into a space-separated sequence of one or more dictionary words.For example, givens = "leetcode",dict = ["leet"原创 2015-09-26 12:44:08 · 320 阅读 · 0 评论 -
Summary Ranges
Given a sorted integer array without duplicates, return the summary of its ranges.For example, given [0,1,2,4,5,7], return ["0->2","4->5","7"].public class Solution { public List summaryRang原创 2015-09-26 11:30:36 · 349 阅读 · 0 评论 -
亿级Web系统搭建:单机到分布式集群
原文链接:http://blog.jobbole.com/91738/?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题。为了解决这些性能压力带来问题,我们需要在Web系统架构层面转载 2015-09-26 11:08:40 · 310 阅读 · 0 评论 -
Java多线程之四内存模型及volatile
内存模型原创 2015-09-07 19:01:25 · 382 阅读 · 0 评论 -
Java多线程之二单例模式
单例模式原创 2015-09-07 19:00:03 · 340 阅读 · 0 评论 -
剑指offer 遍历搜索
1. 广度优先思想适合题目:给定初始状态跟目标状态,要求从初始状态到目标状态的最短路径。辅助数据结构是队列。1.1 Prime最小生成树;1.2 Dijkstra单源最短路径算法;1.3 树的分层遍历,二叉树的最小深度1.4 走迷宫,从起点到终点的最短路径;定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1,原创 2015-09-14 14:44:24 · 534 阅读 · 0 评论 -
【2】机器学习之兄弟连:K近邻和K-means
利用Java实现的K-means聚类:k-means cluster关键词:从K近邻到最近邻,监督学习,数据带lable,效率优化(从线性搜索到kd树搜索),缺点是需要存储所有数据,空间复杂度大。可以利用kd数来优化k-means算法。学习了kNN和K-means算法后,仔细分析比较了他们之间的异同以及应用场景总结成此文供读者参阅。首先,kNN是分类算法,其主要任务是将实例转载 2016-05-29 10:31:52 · 3316 阅读 · 0 评论 -
Leetcode Subsets
Given a set of distinct integers, nums, return all possible subsets.Note:Elements in a subset must be in non-descending order.The solution set must not contain duplicate subsets.For原创 2015-09-26 11:28:26 · 319 阅读 · 0 评论 -
Effective Java 创建和销毁对象
这是一个巨大的命题,涉及到效率,要结合JVM来考虑更好理解。还是先从理论说,再结合几个定点实例。1. 构造器的方法最基本的创建实例的方法。2. 静态工厂方法和抽象工厂方法因为静态工厂方法在扩展的时候违背了封闭原则,所以有了抽象工厂方法。3. 建造者模式建造者模式是从重叠构造器(构造器的不断重载)和JavaBeans(setter模式)模式演化过来。4. 单例模式单元原创 2015-09-09 15:04:16 · 323 阅读 · 0 评论 -
剑指offer 树
二叉树原创 2015-09-19 13:19:40 · 435 阅读 · 0 评论 -
HasnMap中的键
1. 默认的Object, equals()方法对引用对象来说比较的是地址;2.默认的Object, hashCode()方法用对象的地址来计算hash值,返回是int型;3.一定要同时重写equals和hashCode()方法,理由可以参考HashMap的get源码; public V get(Object key) { if (key == null)原创 2015-08-17 10:19:18 · 442 阅读 · 0 评论 -
剑指offer 栈和队列
栈递归深度优先队列分层广度优先阻塞队列优先队列原创 2015-09-19 13:19:07 · 472 阅读 · 0 评论 -
Java虚拟机类加载和执行机制
虚拟机的类加载和执行机制是虚拟机的最主要功能,在这里简单的对所知的内容进行一次温习,并记录以方便日后重温。本篇主要引用《深入理解Java虚拟机——JVM高级特性与最佳实践》一书。1、类文件结构 java虚拟机要对类文件进行加载和执行,那么必须要能够理解类文件结构,而对于虚拟机而言,平台无关性和语言无关性是其最重要的两大特征,那么就势必要对类文件结构进行规范化和结构化,转载 2015-08-04 22:42:01 · 440 阅读 · 0 评论 -
Java经典面试题
1. 函数参数传递的是引用StringBuffer a = newStringBuffer("A"); StringBuffer b = newStringBuffer("B"); 此时内存中的状态如下图所示: publicstaticvoidoperator(StringBuffer x, StringBuffe原创 2015-08-18 14:45:58 · 408 阅读 · 0 评论 -
Java IO
原创 2015-09-22 00:55:15 · 224 阅读 · 0 评论 -
Java 多线程之一(Thread Or Runable)
1. Runable接口@FunctionalInterfacepublic interface Runnable { /** * When an object implementing interface Runnable is used * to create a thread, starting the thread causes the object's原创 2015-09-07 15:31:47 · 431 阅读 · 0 评论 -
数据库之一范式、建表、连接
一. 数据库设计的三大范式:1.第一范式(确保每列保持原子性)第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式。第一范式的合理遵循需要根据系统的实际需求来定。比如某些数据库系统中需要用到“地址”这个属性,本来直接将“地址”属性设计成一个数据库表的字段就行。但是如果系统经常会访问“地址”属性中的“城市”部分,那么就非要转载 2015-09-19 01:31:48 · 459 阅读 · 0 评论 -
剑指offer 链表
单向链表遍历1.1 题目(面试题5):从尾到头打印链表解法一:借助栈;import java.util.ArrayList; import java.util.Stack; public class Solution { public ArrayList printListFromTailToHead(ListNode listNode) {原创 2015-09-21 01:17:06 · 305 阅读 · 0 评论 -
剑指offer 字符串
字符串常量池(intern())字符串转成double字符串与StringBuilder(非线程安全),StringBuffer(线程安全)区别遍历ASCII码正则表达式final类型(理解concurrentHashMap和hashMap区别)java中默认分配16的字符大小的空间1.大小StringBuffer sb = new StringBuffer原创 2015-09-19 11:33:42 · 328 阅读 · 0 评论 -
剑指offer 数组(矩阵)
一维1. 排序及数组规律 递归排序,归并排序,堆排序,时间复杂度及分析。题目(面试题29):数组中出现次数超过一半的数字。题目(面试题30):数组中最小的k个数。题目(面试题36):数组中的逆序对。考察归并排序。2. 二分查找题目(面试题38):数字在排序数组中出现的次数3. 动态规划题目(面试题31):连续子数组的最大和。4. 辅助数据结构原创 2015-09-12 11:41:18 · 639 阅读 · 0 评论 -
Java 数组 排序
很有必要,为排序算法,单独开一章。1. 内部排序插入排序1.1直接插入排序前面维护一个有序数组,后面的逐次插入,稳定排序package com.njue; publicclass insertSort { public insertSort(){ inta[]={49,38,65,97,76,13,27,49,78,34,12原创 2015-09-15 15:01:10 · 446 阅读 · 0 评论 -
Java多线程之七锁
dfg转载 2015-09-08 16:36:19 · 280 阅读 · 0 评论 -
爱奇艺三轮面试
1. Java 抽象类和接口的区别a.来源:抽象类是对事物的抽象,而接口是对行为的抽象;a.变量:都可以有变量,接口中只能是public static final类型变量;b.方法:抽象类的方法可以提供实现细节,而接口中只能有public abstract方法;c.关系:抽象类可以实现接口中的部分抽象方法;d.设计:抽象类是模板式设计,接口是辐射式设计。举例:飞机和鸟的故事原创 2015-09-15 00:33:03 · 1401 阅读 · 0 评论 -
计算机网络之TCP
首先,我们需要知道TCP在网络OSI的七层模型中的第四层——Transport层,IP在第三层——Network层,ARP在第二层——Data Link层,在第二层上的数据,我们叫Frame,在第三层上的数据叫Packet,第四层的数据叫Segment。 首先,我们需要知道,我们程序的数据首先会打到TCP的Segment中,然后TCP的Segment会打到IP的Packet中,然后再打到原创 2015-09-10 21:47:15 · 295 阅读 · 0 评论 -
Java多线程之六并发容器
ConcurrentHashMap原创 2015-09-07 19:03:09 · 297 阅读 · 0 评论 -
Java多线程之五线程池
线程池原创 2015-09-07 19:02:23 · 389 阅读 · 0 评论 -
Java之二叉树 来自Github
package Algorithms.tree;import java.util.ArrayList;import java.util.Iterator;import java.util.LinkedList;import java.util.List;import java.util.Queue;import java.util.Stack;/** * REFS: *转载 2015-08-16 22:15:17 · 374 阅读 · 0 评论 -
二叉查找树 Java
二叉查找树,二叉排序树,二叉搜索树都是一回事儿。public class binarySearchTree> { //维护一个根节点,也即一棵树 private Node root; private static class Node{ T value; Node left; Node right; public Node(){ value=null;原创 2015-08-16 15:54:24 · 326 阅读 · 0 评论 -
背包问题
I found the Knapsack problem tricky and interesting at the same time. I am sure if you are visiting this page, you already know the problem statement but just for the sake of completion :Problem:转载 2015-08-27 15:11:23 · 608 阅读 · 0 评论 -
Dubbo架构设计
Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provider)和服务消费方(Consumer)两个角色。关于注册中心、协议支持、服务监控等内容,详见后面描述。转载 2015-08-27 10:08:53 · 632 阅读 · 0 评论 -
JVM的相关知识整理和学习
JVM是虚拟机,也是一种规范,他遵循着冯·诺依曼体系结构的设计原理。冯·诺依曼体系结构中,指出计算机处理的数据和指令都是二进制数,采用存储程序方式不加区分的存储在同一个存储器里,并且顺序执行,指令由操作码和地址码组成,操作码决定了操作类型和所操作的数的数字类型,地址码则指出地址码和操作数。从dos到window8,从unix到ubuntu和CentOS,还有MAC OS等等,不同的操作系统指令集以转载 2015-08-27 11:29:30 · 355 阅读 · 0 评论 -
HashMap的性能提升从之链表到二叉树
HashMap是一个高效通用的数据结构,它在每一个Java程序中都随处可见。先来介绍些基础知识。你可能也知道,HashMap使用key的hashCode()和equals()方法来将值划分到不同的桶里。桶的数量通常要比map中的记录的数量要稍大,这样每个桶包括的值会比较少(最好是一个)。当通过key进行查找时,我们可以在常数时间内迅速定位到某个桶(使用hashCode()对桶的数量进行取模)以及要转载 2015-08-27 11:27:47 · 4019 阅读 · 0 评论 -
ConcurrentHashMap 高并发性的实现机制
简介ConcurrentHashMap 是 util.concurrent 包的重要成员。本文将结合 Java 内存模型,分析 JDK 源代码,探索 ConcurrentHashMap 高并发的具体实现机制。由于 ConcurrentHashMap 的源代码实现依赖于 Java 内存模型,所以阅读本文需要读者了解 Java 内存模型。同时,ConcurrentHashMap 的源代转载 2015-08-27 11:14:12 · 302 阅读 · 0 评论