自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 问答 (1)
  • 收藏
  • 关注

转载 IntelliJ IDEA像Eclipse一样打开多个项目

我们做项目实际中经常会遇到这样的情况,创建一个common项目(Maven项目)作为公用项目,common中有很多工具类可以供其它多个项目调用。例如,把common、service都单独拆开成独立的Maven项目,供其它的项目使用,通过jar的方式被其它项目通过Maven引用。现在web项目需要引用common和service,如果IDEA分别单独打开common、service、

2018-01-08 10:56:42 21891 1

转载 图解SQL的JOIN

原文地址:https://coolshell.cn/articles/3463.html对于SQL的Join,在学习起来可能是比较乱的。我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚。Coding Horror上有一篇文章(实在不清楚为什么Coding Horror也被墙)通过 文氏图 Ven

2017-09-04 09:14:16 454

原创 java.lang.UnsupportedClassVersionError:JDK版本不一致出错

尝试运行spring boot程序时出现如下错误:java.lang.UnsupportedClassVersionError: org/apache/lucene/store/Directory : Unsupported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(Native Method) at ja

2017-08-02 09:18:17 6960 1

原创 Leetcode 538:Convert BST to Greater Tree

题目描述:https://leetcode.com/problems/convert-bst-to-greater-tree/#/description解题思路:后续遍历,每个节点的值等于其自身值加上其已经遍历过的值之和。AC代码public class Solution { int count = 0; public TreeNode convertB

2017-07-18 20:51:27 318

原创 Leetcode 561:Array Partition I

题目描述:https://leetcode.com/problems/array-partition-i思想是让值最接近的两个数成为一个group,最简单的可以先排序,在取其中下标为偶数的元素。但排序本身耗费时间。可以先计算每个元素出现的次数,从小到大,每间隔一个元素取一个,相加。AC代码:public class Solution { public int arrayPa

2017-07-17 16:54:58 262

原创 Java动态绑定

一、重载与重写为了方便后文的理解,先说一下重载和重写的区别。重载(Overloading)是指一个类中的多个方法的方法名相同,而参数的类型与个数不同,返回参数也不同。重写(Overriding)是指子类对父类的方法进行重新定义。重写要求子类重新定义父类方法时,方法名,参数个数,参数类型以及返回类型都要与父类中该方法相同。重写又称为覆盖很显然,当调用一个类中某一方法时,如果该方法只存

2017-06-13 20:18:33 356

原创 通过一个例子说说主动装箱和Integer缓存

先来看一段代码:package javaCoreTech.demo;import java.util.ArrayList;import java.util.List;public class BoxingDemo { public static void main(String[] args) { Integer a = 1; Integer b = 2; Integ

2017-05-15 14:19:35 317

原创 Java hashcode浅析

散列码(hash code)是由对象导出的一个整型值。散列码是没有规律的,并且如果x和y是两个不同的对象,那么x的hash code与y的hash code基本上不会相同。对象间进行比较时,默认比较的是两个对象的hash code的值是否相同。在Object类中定义了一个hashcode()的方法,因此每一个对象都有一个默认的hash code,其值为该对象存储的地址。我们可以自己定义一个

2017-05-09 16:40:23 604

原创 使用curl 命令模拟POST/GET请求

curl命令是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载。curl支持包括HTTP、HTTPS、ftp等众多协议,还支持POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。在进行web后台程序开发测试过程中,常常会需要发送url进行测试,使用curl可以方便地模拟出符合需求的url命令假设目标url 为:127

2017-05-09 11:43:06 373372 8

原创 python 2.x 编码问题

最近所做的项目中涉及到很多用Python处理文档的问题,被其中的编码问题弄得十分头大。个人做了一些研究,在此记录一下。关于各种字符编码在此不赘述,可以参看廖雪峰:字符串与编码1、中文字符串报错在python中使用中文字符串,会出现一下错误:[python] view plain copy str = "哈哈"  p

2017-05-09 11:26:28 395

原创 用Java实现多线程

本文部分学习和参考了这篇文章:http://blog.csdn.net/evankaka/article/details/44153709#t2之前学习了关于进程和线程的理论知识,但是关于他们是怎么实现的,还缺乏实践。这两天学习了一些关于Java实现多线程的知识,特此总结一下。目前所学知识多线程中很小的一部分,还会持续更新。想了解进程与线程知识可以参看我的这篇文章:漫谈进程与线程。一般来说

2017-03-10 20:39:00 306

原创 漫谈进程与线程

进程和线程是操作系统中非常重要的两个概念,无论在开发或者是面试过程中都会经常遇到有关问题。最近根据自己所查阅的资料,对进程和线程做部分总结。一、进程1、什么是进程从概念上来说,进程可以理解为程序的一次执行,包括在本次执行过程中的指令和所用到的数据。进程是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在当代面向线程设计的计算机结构中,进程是线程的容器。有关进程的理解,有一个

2017-03-09 15:47:13 263

原创 Java抽象类与接口

抽象类和接口是Java的两种抽象机制,也是Java面向对象思想的重要体现。两者具有很大的相似性,但也存在很多差别。      一、抽象类       我们都知道在面向对象的领域一切都是对象,同时所有的对象都是通过类来描述的,但是并不是所有的类都是来描述对象的。如果一个类没有足够的信息来描述一个具体的对象,而需要其他具体的类来支撑它,那么这样的类我们称它为抽象类。比如new Anim

2017-03-08 22:09:52 221

原创 Leetcode 506:Relative Ranks

题目描述:https://leetcode.com/problems/relative-ranks/?tab=Description题目分析:最简单的实现方法:对于每一个运动员得分,遍历整个数组,记录有几个比他得分高的人。这样虽然能够实现,但是时间复杂度为O(n^2)AC代码:public class Solution { public String[] f

2017-03-06 22:16:30 236

原创 Leetcode 371 :Sum of Two Integers

题目描述:https://leetcode.com/problems/sum-of-two-integers/?tab=Description题目分析:不用+、-来实现加法运算。那么可以像计算机硬件一样使用位运算来实现。二进制的加法有两部分:相加,进位:各位相加的结果,是“异或:^”;各位的进位是“且:&”,因为进位是放在下一位的,所以要左移一位所以,a+b = x1+

2017-03-04 16:09:04 204

原创 Leetcode 258: Add Digits

题目描述:https://leetcode.com/problems/add-digits/?tab=Description题目分析:假设所给的数num = ABCDE,那么:不难得到num = (A*10000) + (B*1000) + (C*100)+(D*10) + E = (A+B+C+D+E) + (A*9999+B*999+C*99+D*9)再假设A+B+C+D+

2017-03-04 16:02:01 285

原创 Java:值传递or引用传递

前几天在一套面试题中遇到了一道关于Java的参数传递方式的问题,当时没有回答正确。后来在查阅资料后对这个问题有了详细的了解,在此记录一下。在给类编程语言中,参数传递的方式有两种。一种是值传递,另一种是引用传递。首先来明确一下两种传递方式具体是什么意思。值传递是指在方法调用时,传递给方法的参数,实际上是将原来的变量复制一份之后,将复制品传递给了被调用的方法。因为被调用方法得到的是原变量的一个

2017-02-28 21:02:10 345

原创 CPU、硬盘、内存与指令

最近加入了一个java学习有关的QQ群,在老师的指导下和大家一起学习。这两周经大家推荐,看了几本有关于计算机基础原理的书籍,例如《编码:隐匿在计算机软硬件背后的语言》, 《程序是怎样跑起来的》等。特此写一篇博客将自己学到的东西做一个整理。一、从冯•诺依曼体系说起冯•诺依曼体系结构将计算机分为运算器,控制器,存储器,输入设备,输出设备这五个部分。到目前为止,我们所使用到的计算机基本都是采用冯

2017-02-24 20:47:03 766

原创 在github上fork的相关操作

github上有许多优秀的代码,我们可以将其中的某一个项目的repository fork到自己的github账户,clone到本地进行阅读,修改,还可已经自己的修改提交给原作者本文介绍在以上过程中会用到的git相关指令1. fork repository:以onlyliuxin/coding2017 这个repository为例,进入到这个repository主页面,点击右上角for

2017-02-21 22:37:08 1324

转载 JAVA_HOME,PATH 和 CLASSPATH

JAVA_HOME = JDK安装路径;如C:\Program Files\Java\jdk1.8.0_65PATH = %JAVA_HOME %/bin; CLASSPATH = .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jarpath(环境变量)是dos以前的内部命令,windows继续沿用至今。用作运行某个命令的时候,本地查找不到某个命

2017-02-14 19:13:42 334

转载 JDK与JRE的区别

通俗点来说: jdk是java的开发包,其中包括jre;jre仅仅是java的运行时环境;而JDK包括了同版本的JRE,此外还包括有编译器和其它工具 Jre 是java runtime environment, 是java程序的运行环境。既然是运行,当然要包含jvm,也就是大家熟悉的虚拟机啦,还有所有java类库的class文件,都在lib目录下打包成了jar。大家可以自己验证。至于在wind

2017-02-14 17:37:12 267

原创 Python:TypeError: 'int' object is not callable

一个函数的部分代码如下:def loadData(): ...... len = dataSet.__len__() trainingSet.extend(dataSet[:len * 3 / 4]) testSet.extend(dataSet[len * 3 / 4:]) print len(trainingSet) print len(test

2017-01-13 21:12:56 58284 1

原创 Python: TypeError: XXX() takes exactly 1 argument (2 given)

在调用某一个类A的方法时,出现以下错误:TypeError: XXX() takes exactly 1 argument (2 given)Python在调用一个实例的方法是,将instance本身也作为一个参数传入,即调用方法:insA.method_1(k)其实调用的是:ins_A.method_1(self, k)因此在类A中定义方法method_1时,必须

2016-12-31 19:07:22 26174 1

原创 Struts2 使用域模型给action传递参数以及DTO

域模型:以用户登录为例:定义一个User类对象us,设置其中变量信息,getter和setter。在LoginAction类中申明一个user类对象(不需要new,Struts2会自行new出一个对像),以及user的getter和setter。在用户登录的jsp页面中,提交信息为:us.XXX,XXX为user类中成员变量的名字:如us.userName.User类代码:

2016-12-31 12:59:08 3172 2

原创 LeetCode 438: Find All Anagrams in a String

题目描述:hhttps://leetcode.com/problems/find-all-anagrams-in-a-string/题目本身并不难,这里主要比较两种方法在时间上的差异:方法一:每次去s中与q长度相等的字串,比较两个字符串是否为Anagram。这种方法所需时间很长。AC代码/*794ms*/public class Solution { publ

2016-11-28 20:48:05 327

原创 LeetCode102: Binary Tree Level Order Traversal

题目要求:https://leetcode.com/problems/binary-tree-level-order-traversal/1)此题本质上是一个BFS问题,不难解决2)题目要求将每一层节点作为一个list,那么使用while(!q.isEmpty())的方式来遍历Queue就不太合适,因为需要不停地将节点加入队列     这里在访问每一层是,先获得此时queue里的长度,

2016-11-27 19:06:53 310

转载 算法时间复杂度的计算 [整理]

时间复杂度的定义     一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n)/f(n)的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。记作T(n)=O(f(n)),称O(f(n))为算法的渐进时间复杂度(O是数量级的符号 ),简称时间复杂度。根据定义,可以归纳出基本的计算步骤 1

2016-11-22 20:15:34 447

原创 LeetCode 119: Pascal's Triangle II

题目要求:https://leetcode.com/problems/pascals-triangle-ii/1)杨辉三角形:第k+1行的第i个元素,等于第k个元素的第i个元素加第i-1个元素2)为满足空间复杂度为O(k)的需求,可以从第2行开始,每次在list末尾添加一个1,则前k个元素为k-1行的值,这样就可以从后向前计算第k行的元素AC代码/*

2016-11-22 19:25:41 512

原创 LeetCode 172: Factorial Trailing Zeroes

题目要求:https://leetcode.com/problems/factorial-trailing-zeroes/1)阶乘末尾0的个数,等于各个元素分解素因素后,2*5的个数2)对阶乘而言,素因素分解后2的数量一定多于5,因此只需要统计5的个数3)题目要求时间复杂度为对数级别,因此对每个数求5的个数不符合要求。需要用一下方式求5的个数:对于阶乘而言,n/k 表示其中能被k整

2016-11-21 18:08:27 206

转载 全局变量报错:UnboundLocalError: local variable 'l' referenced before assignment

总结:内部函数,不修改全局变量可以访问全局变量内部函数,修改同名全局变量,则python会认为它是一个局部变量在内部函数修改同名全局变量之前调用变量名称(如print sum),则引发Unbound-LocalError在程序中设置的sum属于全局变量,而在函数中没有sum的定义,根据python访问局部变量和全局变量的规则:当搜索一个变量的时候,python先从局部作用域开始

2016-11-02 21:38:55 1321

原创 Ubuntu-14.04.2 JDK安装配置

一、下载下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html按照需要选择不同的版本。笔者选择的是 jdk-7u79,如图:二、解压笔者的下载路径是/tmp,这里将jdk移动到/usr/lib/jvm路径下:cd /usr/libsudo

2016-07-14 20:38:44 356

转载 Git命令详解

转自http://blog.csdn.net/windows_nt/article/details/245578311. Git1.1. Git是何方神圣?Git是用C语言开发的分布版本控制系统。版本控制系统可以保留一个文件集合的历史记录,并能回滚文件集合到另一个状态(历史记录状态)。另一个状态可以是不同的文件,也可以是不同的文件内容。举个例子,你可以将文件集合转换

2016-07-14 19:06:33 473

转载 Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04

Hadoop单节点伪分布式安装配置,转载自:http://www.powerxing.com/install-hadoop/环境本教程使用 Ubuntu 14.04 64位 作为系统环境(Ubuntu 12.04 也行,32位、64位均可),请自行安装系统(可参考使用VirtualBox安装Ubuntu)。如果用的是 CentOS/RedHat 系统,请查看相应的CentO

2016-07-12 21:26:56 1062

转载 Numpy详细教程

原文地址:http://blog.csdn.net/lsjseu/article/details/20359201先决条件在阅读这个教程之前,你多少需要知道点python。如果你想从新回忆下,请看看Python Tutorial .如果你想要运行教程中的示例,你至少需要在你的电脑上安装了以下一些软件:PythonNumPy这些是可能对你有

2016-06-15 16:21:07 578

原创 POJ 1054 Java: The Troublesome Frog

题目描述:http://poj.org/problem?id=1054本题使用枚举的思想。但是单纯枚举解得范围太大,我们需要在对可能的范围进行剪枝。我们可以先选中一个点作为起始点,另一个点做第二个点,这样就可以确定一条直线。再对这条直线是否符合剪枝条件进行考察,先来可以下剪枝的条件有哪些:1、既然选中了起始点,那么根据其与第二个点的步长,可以知道上一步一定是在田外的,否则就不能成为

2016-02-29 17:38:07 459

原创 POJ 1222 Java: Extended lights out 枚举

题目描述:http://poj.org/problem?id=1222本题使用到的算法是枚举法。要求得使灯全部熄灭的按开关方式,最简单的方法就是将30个开关的每一种状态都枚举一遍。但是这样做需要进行2^30次计算,计算量太大。那么是否可以减少枚举的状态的数量呢?基本思路:尝试寻找某一个“局部”,当这个“局部”的状态确定下来了以后,其余部分的情况必须根据这个“局部”来确定,从而只要唯

2016-02-25 12:32:08 690

原创 poj 1011 Java: sticks

题目描述:http://poj.org/problem?id=1011本题考察的内容是深度优先遍历(DFS),要实现其要求的输出并不困难。但是题目存在时间限制,仅仅使用DFS结果会超时。因此需要我们添加一些判断拼凑成功和不成功的条件,也就是所谓的“剪枝”。我在“剪枝”过程中遇到困难,查阅网络资料后解决了问题。在这过程中,很大程度借鉴了这篇博客的内容,也可以看做是对其的解读。首先

2016-02-02 19:47:58 1717 1

原创 POJ 1088 Java:滑雪(动态规划)

这是一个动态规划问题(Dynamic programming):讲一个较大的问题分为若干的相互有关的子问题,即重叠子问题,使用递归的方法来求解。对于这个问题来说,点A的步数为,与其相邻的四个点中高度低于A的点中,步数最长的点+1。在计算每一个点的步数时,有些点的步数信息有可能会被重复使用,因此我们可以将每个点的步数信息计算出后存储,当再次需要时即可不必计算,直接调用。这就是记忆化搜索。

2016-01-19 19:10:40 2092 1

原创 POJ 1001 Java:求高精度幂

题目本身不难,主要考察到对大数的处理。Java.math包中,有BigInteger和BigDecimal两个类,分别可以表示长度不可变的,任意精度的整数和小数,并且可以和字符串相互转换,使得Java在处理大数方面具有独特的优势。AC代码:import java.util.*;import java.math.*;public class POJ1001 { public

2016-01-19 18:54:12 1237

原创 POJ 1007 Java:DNA Sorting

题目描述:大意是给出一些相同长度的字符串,根据这些字符串的逆序数进行排序,输出。分析:定义一个DNA类,其中包含字符串和该字符串的逆序数两个成员变量,和相关成员函数。对给定的字符串排序,再输出。AC代码:import java.util.*;public class POJ1007 { public static void main(String[] args){

2016-01-16 20:36:38 1077

空空如也

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

TA关注的人

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