
java
文章平均质量分 64
Freeland丶
Future , I'm coming... with my love...
展开
-
浅谈 java线程 和 linux进程
因为最近在看jvm和linux kenel的一些书籍。看到一些相似的东西总喜欢拿来对比一下。想想背后设计的思想,感觉这样收货很多。最近一直在看一些英文的书籍,spring in action ,akka in action ,java 8 in action 等等。in action 系列的这些书籍,让我又看到一片新的天地。国内的很多书籍和他们没法比。想想实习也将近四个月了,自己也在规划着自己的未原创 2016-10-22 20:43:54 · 1706 阅读 · 0 评论 -
spring boot thymeleaf 入门 demo
实体类:public interface SeckillRepository extends JpaRepository{}@Data@Entity@Table(name = "sec_kill")public class Seckill { @Id private long seckillId; private String name; p原创 2016-07-28 23:32:38 · 2284 阅读 · 1 评论 -
Netty高性能之道
1. 背景1.1. 惊人的性能数据最近一个圈内朋友通过私信告诉我,通过使用Netty4 + Thrift压缩二进制编解码技术,他们实现了10W TPS(1K的复杂POJO对象)的跨节点远程服务调用。相比于传统基于Java序列化+BIO(同步阻塞IO)的通信框架,性能提升了8倍多。事实上,我对这个数据并不感到惊讶,根据我5年多的NIO编程经验,通过选择合适的NIO框架,加上高转载 2016-05-19 16:30:18 · 555 阅读 · 0 评论 -
全排序
我用的是递归实现的全排序 从控制台输入全排序数字的个数然后依次读入各个树 本题还实现了特定要求 比如 4 在 3 的前面才输出public class qpl { public static int flag = 1; public static void main(String[] args) { Scanner in = new Scanner(System.原创 2016-05-18 16:39:01 · 496 阅读 · 0 评论 -
海量数据的topK问题
问题描述:有N(N>>10000)个整数,求出其中的前K个最大的数。(称作Top k或者Top 10)问题分析:由于(1)输入的大量数据;(2)只要前K个,对整个输入数据的保存和排序是相当的不可取的。 可以利用数据结构的最小堆来处理该问题。 最小堆如图所示,对于每个非叶子节点的数值,一定不大于孩子节点的数值。这样可用含有K个节点的最小堆来保存K个目前的最大值(当然根节点是其中的原创 2016-05-17 09:29:26 · 731 阅读 · 0 评论 -
十进制数转化成N进制数(java实现)
1.今天华为实习生笔试,第一道简单题就是这样的,实现十进制到2-9进制的转换 下面是代码2.晚上回来进行了改进,可以实现十进制到n进制的转换原创 2016-04-20 22:00:12 · 1701 阅读 · 1 评论 -
js解析json数据
一、什么是JSON?JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式,同时,JSON是 JavaScript 原生格式。今天在做后台给前台传数据的时候用到了json 。在前段需要解析json数据,看了一下资料,一般有两种方法第一 就是用eval()函数//在chrom原创 2016-05-14 12:10:56 · 682 阅读 · 0 评论 -
堆排序
/** * 堆排序的思想是对于给定的n个记录,初始时把这些记录看作一颗顺序存储的二叉树,然后将其调整为一个大顶堆,然后将堆的 * 最后一个元素与堆顶元素(即二叉树的根节点)进行交换后,堆的最后一个元素即为最大记录;接着将前(n-1)个元素,即不 * 包括最大记录重新调整为一个大顶堆,再将堆顶元素与当前堆的最后一个元素进行交换后得到次大的记原创 2016-05-12 10:41:32 · 294 阅读 · 0 评论 -
栈的压入弹出序列
题目描述:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列思路解析:先判断是否为空 以及压栈序列和出栈序列长度是否一致 然后创建一个栈 用一原创 2016-04-13 09:55:04 · 412 阅读 · 0 评论 -
UML中几种类间关系:继承、实现 ..
这是一堂关于UML基础知识的补习课;现在我们做项目时间都太紧了,基本上都没有做过真正的class级别的详细设计,更别提使用UML来实现规范建模了;本篇主要就以前自己一直感觉很迷糊的几种class之间的关系进行整理,让我们在真正用UML进行比如类图设计时能够更加清晰明了;以下就分别介绍这几种关系:继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增转载 2016-03-23 09:45:59 · 494 阅读 · 0 评论 -
spring boot starter 详解
Starter POMs是可以包含到应用中的一个方便的依赖关系描述符集合。你可以获取所有Spring及相关技术的一站式服务,而不需要翻阅示例代码,拷贝粘贴大量的依赖描述符。例如,如果你想使用Spring和JPA进行数据库访问,只需要在你的项目中包含spring-boot-starter-data-jpa依赖,然后你就可以开始了。该starters包含很多你搭建项目,快速运行所需的依赖,并提供一原创 2016-07-31 02:23:27 · 4383 阅读 · 0 评论 -
java实现一个简单的机器学习和数据挖掘的demo
因为最近忙着一个比赛,想用机器学习的方法来实现,因为我们用的是java,所以就用到了weka,weka的jar包可以去官网下载.1,第一步先准备数据在项目里创建一个txt文件,然后把下面的数据放进去 @relation weather@attribute outlook {sunny, overcast, rainy}@attribute temperature numer原创 2016-08-06 18:04:29 · 12725 阅读 · 3 评论 -
akka clusterclient
/** * This actor is intended to be used on an external node that is not member * of the cluster. It acts like a gateway for sending messages to actors * somewhere in the cluster. From the initial c原创 2016-09-07 13:48:06 · 966 阅读 · 0 评论 -
怎样去理解@ComponentScan注解
在Spring mvc当中经常可以看到@ComponentScan这个注解,那么怎么样去理解它呢?配置视图控制器package com.apress.prospringmvc.bookstore.web.config;import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;imp原创 2016-09-25 22:27:05 · 79694 阅读 · 10 评论 -
创业公司实习感受以及规划
7月4号来到上海的一家创业公司实习,到现在一家2个月多一点了,先谈谈感受吧。第一天去了,软件总监和我简单聊了几分钟,然后给我分配了一个小组长,然后组长又跟我谈了几分钟。最后项目经理把我们组的人叫了过来,开了一次会议,说了一下我们现在做的事情。顿时觉得心里暖暖的。之后HR又把我介绍给大家,我自己也简单的介绍了一下自己,感觉蛮好的。刚接触项目的时候用的是spring boot 架构,因为以前只原创 2016-09-08 21:58:25 · 1233 阅读 · 0 评论 -
Akka Actor 路径
与远程部署之间的互操作当一个actor创建一个子actor,actor系统的部署者会决定新的actor是在同一个jvm中还是在其它节点上。如果是后者,actor的创建会通过网络连接引到另一个jvm中进行,因而在另一个actor系统中。远程系统会将新的actor放在一个专为这种场景所保留的特殊路径下,新的actor的监管者将会是一个远程actor引用(代表触发它创建动作的actor)。这时,co原创 2016-09-08 14:58:31 · 827 阅读 · 0 评论 -
怎么去理解Spring Aop
The following image can help you understand Advice, PointCut, Joinpoints and Aspect:原创 2016-09-20 15:45:27 · 727 阅读 · 0 评论 -
Java8 sort map by key or value
1. Sort by KeySortByKeyExample.javapackage com.mkyong.test;import java.util.HashMap;import java.util.LinkedHashMap;import java.util.Map;public class SortByKeyExample { public static v原创 2016-10-09 15:38:15 · 3313 阅读 · 1 评论 -
Java 8 – 分组GroupBy
1. 分组, 计数和排序 public static void main(String[] args) { //3 apple, 2 banana, others 1 List items = Arrays.asList("apple", "apple", "banana",原创 2016-10-01 12:45:42 · 37628 阅读 · 11 评论 -
java8 read file 读文件
In Java 8, you can use Files.lines to read file as Stream.c://lines.txt – A simple text file for testingline1line2line3line4line51. Java 8 Read File + StreamTestReadFile.javapackag原创 2016-10-09 15:06:39 · 7900 阅读 · 1 评论 -
java8 write file 写文件
1.用BufferedWriter写入文件//Get the file referencePath path = Paths.get("c:/output.txt"); //Use try-with-resource to get auto-closeable writer instancetry(原创 2016-10-09 14:56:38 · 21332 阅读 · 0 评论 -
自动装箱和自动拆箱(AutoBoxing,Unboxing)
什么是自动装箱拆箱基本数据类型的自动装箱(autoboxing)、拆箱(unboxing)是自J2SE 5.0开始提供的功能。 一般我们要创建一个类的对象实例的时候,我们会这样: Class a = new Class(parameter); 当我们创建一个Integer对象时,却可以这样: Integer i = 100; (注意:不是 int i =原创 2016-10-09 13:38:13 · 11557 阅读 · 0 评论 -
旋转链表---Rotate List
public class Solution { public ListNode rotateRight(ListNode head, int k) { if(head==null){ return head; } int length = getListLength(head); k =k%lengt原创 2015-11-09 22:20:45 · 514 阅读 · 0 评论 -
检测是否为素数
原创 2016-03-22 16:23:28 · 285 阅读 · 0 评论 -
最大公约数和最小公倍数
原创 2016-03-22 15:37:42 · 378 阅读 · 0 评论 -
Java Object 类源码分析
package java.lang; public class Object { /* 一个本地方法,具体是用C(C++)在DLL中实现的,然后通过JNI调用。*/ private static native void registerNatives(); /* 对象初始化时自动调用此方法*/ static {原创 2015-11-19 09:04:05 · 411 阅读 · 0 评论 -
8张图理解Java
1、字符串不变性下面这张图展示了这段代码做了什么 String s = "abcd";s = s.concat("ef");2、equals()方法、hashCode()方法的区别HashCode被设计用来提高性能。equals()方法与hashCode()方法的区别在于:如果两个转载 2015-11-11 14:03:20 · 391 阅读 · 0 评论 -
Swap Nodes in Pairs
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */public class Solution {public ListNode swapP原创 2015-11-09 18:15:25 · 343 阅读 · 0 评论 -
Java表达式类型自动提升
short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 答案是:前者错,后者对。相信不管是否经历过java面试过,大家一定对这道题很熟悉。因为这道题确实太经典了,以至于成为了基本每个老师都会拿出来,当作课堂例题来讲。要说清这道题,首先看看java表达式类型转换规则。 【java表达式类型转换】 java是一门强类型转载 2015-09-24 08:27:04 · 1454 阅读 · 0 评论 -
Java进阶:细说引用类型
为了形象起见,也为了打字方便,本文后面的内容,都把“引用类型的变量”称为指针。所以,如果你原先有C/C++背景,今天讲的内容对你来说应该很好理解;否则的话,可能要多琢磨琢磨了。◆创建Java进阶问题假设我们在函数中写了如下这个简单的语句:StringBuffer str = new StringBuffer("Hello world");别看这个语句简单,其实包含了如下三个步骤:首先,new Str转载 2015-09-24 11:24:10 · 346 阅读 · 0 评论 -
Java泛型与反射
在Java中我们都知道泛型是在我们往集合里面添加一个元素的时候会进行合法性检查其实 Java中集合的泛型 是防止编译时 错误输入 只在编译阶段有效 绕过编译就无效了下面我们对此进行验证:在这里我们可以通过反射获取 ArrayList 集合的add方法 通过泛型设置 该集合的元素只能为String 类型 ArrayList list1 = new ArrayList();public clas原创 2015-11-04 14:54:15 · 772 阅读 · 0 评论 -
Sum Root to Leaf Numbers
Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number.An example is the root-to-leaf path 1->2->3 which represents the number 123.Find the total sum原创 2015-11-10 20:12:02 · 294 阅读 · 0 评论 -
深度优先遍历
深度优先搜索: 在搜索到尽头的时候,深度优先搜索用栈记住下一步的走向。这里展示了一个例子,最好实验一下: 为了实现深度优先搜索 找一个起始点 本例为顶点A 需要做三件事 首先访问该顶点,然后把该点放入栈中 一边记住它, 最后标记改点, 规则1: 如果可能,访问一个邻接的未访问顶点,标记它,并把它放入栈中 当不能执行规则1时 如果栈不空 就 从栈中弹出一个顶点 如果不能执行规则1 和 规则2原创 2015-11-26 20:55:17 · 412 阅读 · 0 评论 -
广度优先遍历
广度优先遍历 A 是起点 所以访问它 并标记为当前顶点 然后应用下面几条规则: 规则1: 访问下一个未被访问的邻接点(如果存在),这个顶点必须是当前顶点的邻接点,标记它,并且把它插入到队列中 规则2: 如果因为已经没有未访问的顶点 而不能执行规则1 那么从队列头取一个顶点 (如果存在),并使其称为当前顶点 规则3: 因为队列为空而不能执行规则2,则搜索结束原创 2015-11-26 21:01:24 · 470 阅读 · 0 评论 -
0-1背包问题和部分背包(fractional knapsack)问题分析
简介 背包问题已经是一个很经典而且讨论很广泛的算法问题了。最近学习到这一部分,打算结合自己思考和编码的过程做一个思考总结。这里主要讨论的0-1背包问题和部分背包问题解决方法背后其实隐藏了两种我们比较常见的算法解决思路,动态规划和贪婪算法。正好通过这两个问题的讨论可以好好的加深一下理解。 问题描述 假设我们有n件物品,分别编号为1, 2...n。其中编号为转载 2016-03-29 15:28:15 · 7754 阅读 · 0 评论 -
快速排序
原创 2016-03-22 15:36:38 · 256 阅读 · 0 评论 -
把二叉树打印成多行
题目描述从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。import java.util.ArrayList;import java.util.LinkedList;import java.util.Queue;//结点结构public class TreeNode { int val = 0; TreeNode left = nu原创 2016-04-01 16:19:50 · 442 阅读 · 0 评论 -
求解二叉树的深度(递归和非递归)
用递归和非递归求解二叉树的深度非递归实现 借助一个队列public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; }}import java原创 2016-04-01 14:30:30 · 969 阅读 · 0 评论 -
实现一个最大栈、最小栈
思路分析:在栈中实现一个方法 每一调用该方法可以获得当前栈中的最大值 通过把两个栈封装在一个栈中 其中的一个栈存放正常的元素 另一个栈max只存最大元素 如果push()一个数 如果这个数比 最大栈max.peek()还要大 说明插入的该元素是栈中的最大的元素 否则 在max栈中插入max.peek()最小栈的思路和这类似,下面我们来看一下实现:import jav原创 2016-03-31 20:47:49 · 2932 阅读 · 0 评论 -
用二分法查找满足条件值的最大下标
二分法: 一般用数组存数据 而且该数组还是有序的如果用链表存的话 那么访问每一个元素是O(n)的这样效率很低 数组可以实现O(1)的访问下面看一下实现:public class Bin { public int binarySearch(int []a,int low,int high,int value){ int middle = (low+high)/2; if(原创 2016-03-31 21:02:35 · 1593 阅读 · 0 评论