自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Top5软件工程硕士,先后在京东、字节从事多年Java后端开发、实时和离线大数据开发

博文均为博主精心总结,从企业实战出发,提高开发中解决问题的能力

  • 博客(37)
  • 资源 (11)
  • 问答 (1)
  • 收藏
  • 关注

转载 HTTP请求方法

根据HTTP标准,HTTP请求可以使用多种请求方法。HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法。HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。序号方法描述1GET请求指定的页面信息,并返回实体主体。

2017-09-29 17:11:43 415

原创 Java,抽象类,接口,实现,继承

1 接口中的方法只能包含方法声明,不能包含方法体2 抽象类中可以存在抽象方法,也可以不存在抽象方法;抽象方法只能存在方法声明,不能包含函数体;非抽象方法需要包含函数体3 普通类实现接口,需要实现接口中的所有方法;抽象类实现接口,可以不实现接口的方法4 普通类继承抽象类需要重写基类中的抽象方法,可以不重写基类中的非抽象方法。 如果基类实现了接口,普通类还需要实现接口中的方法。5 抽象类继

2017-09-29 14:06:06 997

转载 Servlet 生命周期、工作原理

Servlet 生命周期:Servlet初始化-->服务--->销毁。init():在Servlet的生命周期中,仅执行一次init()方法。它是在服务器装入Servlet时执行的,负责初始化Servlet对象。可以配置服务器,以在启动服务器或客户机首次访问Servlet时装入Servlet。无论有多少客户机访问Servlet,都不会重复执行init()。service():它是Servlet的核

2017-09-29 13:31:03 578

转载 Mysql的Text和Blob的比较

MySQL存在text和blob:(1)相同在TEXT或BLOB列的存储或检索过程中,不存在大小写转换,当未运行在严格模式时,如果你为BLOB或TEXT列分配一个超过该列类型的最大长度的值值,值被截取以保证适合。如果截掉的字符不是空格,将会产生一条警告。使用严格SQL模式,会产生错误,并且值将被拒绝而不是截取并给出警告.BLOB和TEXT列不能有 默认值.当保存或检索BLOB和

2017-09-24 20:09:07 4582

原创 LeetCode520. Detect Capital--检测单词的大写字母是否符合规范

Given a word, you need to judge whether the usage of capitals in it is right or not.We define the usage of capitals in a word to be right when one of the following cases holds:All letters in t

2017-09-24 10:37:49 1091

原创 去除重复字符

输入 abcdefabc  wwww输出 abcdef w,字符出现的先后顺序不变import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in);// Str

2017-09-23 22:51:36 778

原创 Java反射的三种实现方式,访问私有方法和私有属性

它允许程序在运行的时候动态的生成对象、执行对象的方法、改变对象的属性,Spring就是通过反射来实现依赖注入的。package com.main;public class Main { public static void main(String[] args) { //new 对象 Test test = new Test();

2017-09-23 11:01:56 3383

原创 字符串数组元素计数,按顺序输出

import java.util.LinkedHashMap;import java.util.Map;public class Main { public static void main(String[] args) { printStringCount(new String[]{"this","is","a","sample","a","sample"});

2017-09-17 16:37:32 1003

原创 java,内存溢出和栈溢出实例

package com.main;import java.util.ArrayList;import java.util.List;public class Main { public static int c = 0; public static int d = 0; public static List list = new ArrayList();//

2017-09-16 16:50:04 1202

转载 MySQL常见的三种存储引擎(InnoDB、MyISAM、MEMORY)

InnoDB中,创建的表的表结构存储在.frm文件中(我觉得是frame的缩写吧)。数据和索引存储在innodb_data_home_dir和innodb_data_file_path定义的表空间中。InnoDB的优势在于提供了良好的事务处理、崩溃修复能力和并发控制。缺点是读写效率较差,占用的数据空间相对较大。MyISAM的表存储成3个文件。文件的名字与表名相同。拓展名为frm、M

2017-09-16 16:33:45 1231

转载 MyISAM的锁与InnoDB的锁区别

MySQL的表锁有两种模式(即MyISAM引擎):表共享读锁(Table Read Lock)和表独占写锁(Table Write Lock)。MyISAM在执行查询语句(SELECT)前,会自动给涉及的所有表加读锁,在执行更新操作(UPDATE、DELETE、INSERT等)前,会自动给涉及的表加写锁,这个过程并不需要用户干预,因此用户一般不需要直接用LOCK TABLE命令给MyISA...

2017-09-16 16:13:47 4501

转载 多线程查询、修改Mysql表会有冲突吗?

我用的存储引擎是MyISAM,有多个连接会同时select这张表,但不会修改这张表,这样操作会不会有冲突,会不会锁表?不会锁表,不会有冲突,MyISAM表的读操作,不会阻塞其他用户对同一表的读请求,但会阻塞对同一表的写请求;对 MyISAM表的写操作,则会阻塞其他用户对同一表的读和写操作;MyISAM表的读操作与写操作之间,以及写操作之间是串行的,读操作是并行的。http://

2017-09-16 14:40:21 6946

转载 mysql外键约束

-- drop table p_table;-- drop table c_table;CREATE TABLE p_table ( -- 父表 id int(11) NOT NULL auto_increment, p_name varchar(20) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB char set =

2017-09-16 13:54:30 734

转载 MyISAM与InnoDb的区别

1 InnoDB支持事务,而MyISAM不支持事务。InnoDB的AUTOCOMMIT默认是打开的,即每条SQL语句会默认被封装成一个事务,自动提交,这样会影响速度,所以最好是把多条SQL语句显示放在begin和commit之间,组成一个事务去提交。2 InnoDB支持行锁和表锁,MyISAM只支持表锁。即 MyISAM同一个表上的读锁和写锁是互斥的,MyISAM并发读写时如果等待队列中既有读...

2017-09-16 12:42:32 308

转载 存储过程和触发器的区别

存储过程,你调用的时候才会执行触发器就是你设定了数据库里比如删除,修改,插入时,才会触发触发器不同于存储过程,触发器主要是通过事件执行触发而被执行的,而存储过程可以通过存储过程名称名字而直接调用。当对某一表进行诸如UPDATE、INSERT、DELETE这些操作时,SQLSERVER就会自动执行触发器所定义的SQL语句,从而确保对数据的处理必须符合这些SQL语句所定义的

2017-09-15 21:23:23 7423

原创 C++,vs中pow和宏的使用

#include using namespace std;//#define Mul ++x*y++ //错的,必须要是Mul(x,y)#define Mul(x,y) ++x*y++int main(){//cout<<pow(10,2);错误cout<<pow((float)10,2)<<endl;cout<<pow((double)10,2)<<endl;in

2017-09-13 18:00:17 1265

原创 geohash编码

geohash编码:geohash常用于将二维的经纬度转换为字符串,分为两步:第一步是经纬度的二进制编码,第二步是base32转码。此题考察纬度的二进制编码:算法对纬度[-90,90]通过二分法进行无限逼近(取决于所需精度,本题精度为6)。注意,本题进行二分法逼近过程中只采用向下取整来进行二分,针对二分中间值属于右区间。算法举例如下: 针对纬度为80进行二进制编码过程:1) 区间[-90,

2017-09-12 00:23:39 1224

原创 素数对

给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。输入值小于1000。如,输入为10, 程序应该输出结果为2。(共有两对质数的和为10,分别为(5,5),(3,7))#include using namespace std;bool isPrime(int num){//判断这个数是否是素数 if(num ==2 || num==3) return tr

2017-09-11 23:01:48 746

原创 游戏任务标记

游戏里面有很多各式各样的任务,其中有一种任务玩家只能做一次,这类任务一共有1024个,任务ID范围[1,1024]。请用32个unsigned int类型来记录着1024个任务是否已经完成。初始状态都是未完成。 输入两个参数,都是任务ID,需要设置第一个ID的任务为已经完成;并检查第二个ID的任务是否已经完成。 输出一个参数,如果第二个ID的任务已经完成输出1,如果未完成输出0。如果第一或第二

2017-09-11 22:59:42 757

转载 a ~ y的25个字母,从1位到4位的编码,输出这个编码对应的Index.

假定一种编码的编码范围是a ~ y的25个字母,从1位到4位的编码,如果我们把该编码按字典序排序,形成一个数组如下: a, aa, aaa, aaaa, aaab, aaac, … …, b, ba, baa, baaa, baab, baac … …, yyyw, yyyx, yyyy 其中a的Index为0,aa的Index为1,aaa的Index为2,以此类推。 编写一个函数,输入是任意

2017-09-11 22:56:51 3026

原创 C++字符串连接,输入和输出

#include #include //这一句有了才能编译s1.append(s2);cout<<s1<<endl;#include using namespace std;int main(){ string s1 = "a"; string s2 = "b"; s1.append(s2); cout<<s1<<endl; string s3 = "a"; string

2017-09-11 22:09:53 1531

原创 字符串编码--中文字符前后加<>

"abc中国d美国"编码后是"abcd"public class Main { private String addSingal(String str) { if (str == null) { return null; } int n = str.length(); if (n == 1) {

2017-09-10 21:04:22 1359 1

原创 输出第N个丑数

题目:我们把只包含因子2,3和5的数称为丑数(Ugly Number),求从小到大的顺序第n的丑数,例如6,8都是丑数,但14不是,因为它包含因子7。习惯上我们把1当作第1个丑数import java.util.Scanner;public class Main { public static void main(String[] args) { Sc

2017-09-10 17:25:57 2972

原创 重排数列--是否存在排列,排列后数组的每两个相邻元素的乘积都是4的倍数

i从0到n-1,是否存在排列,使得a[i]*a[i+1]的值都是4的倍数import java.util.Scanner;public class Main { public static void main(String[] args) { int m, n; int[] arr; Scanner sc = new Scanner

2017-09-09 19:07:30 2347 2

原创 验证合法IPV4和IPV6

import java.util.regex.Pattern;public class Main { public static void main(String[] args) { System.out.println(new Main().isIPv4(".13.13.14"));//false System.out.println(new Mai

2017-09-08 10:58:36 3199 2

原创 java,List转数组,数组转字符串,输出

List list = new Main().generateParenthesis(3); String[] array = (String[]) list.toArray(new String[list.size()]); System.out.println(Arrays.toString(array));

2017-09-07 12:04:19 1859

原创 LeetCode 284. Peeking Iterator--实现Iterator接口的hashNext和next方法,来实现peek方法

Given an Iterator class interface with methods:next()andhasNext(), design and implement a PeekingIterator that support thepeek()operation -- it essentially peek() at the element that will be

2017-09-07 11:31:58 1178

原创 寻找字符串A中完全包含字符串B的最短子字符串

已知两个字符串a和b。字符串a的字符有可能重复,字符串b中的字符不重复。编写一个算法,寻找字符串a的最短子字符串,使得该子字符串包含字符串b中的所有字符。这是一道典型的动态规划题,有点类似编程之美中最短摘要生成那道题目。可以使用两个指针t_rear和t_front遍历字符串a。使用两个指针rear和front记录已发现的最短字符串的边界。使用一个变量cnt记录已经发现的b中的字符数

2017-09-06 09:38:50 5111

原创 生产者/消费者的示例程序,生产者随机地产生若干个整数,消费者将这些整数输出到屏幕。

请编写一个生产者/消费者的示例程序,生产者随机地产生若干个整数,消费者将这些整数输出到屏幕。要求考虑线程安全。import java.util.ArrayList;import java.util.List;import java.util.Random;class Behave { private List list = new ArrayList(); publi

2017-09-05 22:51:07 1393

原创 调整数组元素顺序,奇数在前,偶数在后

输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。要求时间复杂度为O(n)。package com.main;import java.util.Arrays;public class Main { private void adjustPosition(int[] nums) { int n = nums.le

2017-09-05 22:10:39 1794

转载 进程间、线程间通信方式小结

一、进程间的通信方式# 管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。# 有名管道 (namedpipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。# 信号量(semophore ) : 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机

2017-09-05 13:57:21 1000

原创 TCP 三次握手/四次挥手图解 /为什么需要“三次握手”?为什么需要“四次挥手”?

四次挥手三次握手

2017-09-05 13:42:22 463

转载 LinkedHashMap实现原理

LinkedHashMap实现了Map接口,继承于HashMap,与HashMap不同的是它维持有一个双链表,从而可以保证迭代时候的顺序。public class TestLinkedHashMap { public static void main(String[] args) { Map map = new LinkedHashMap(); map.

2017-09-05 11:47:38 3118

转载 HashMap实现原理

HashMap的整体结构如下    简单来说,HashMap由数组+链表组成的,数组是HashMap的主体,链表则是主要为了解决哈希冲突而存在的,如果定位到的数组位置不含链表(当前entry的next指向null),那么对于查找,添加等操作很快,仅需一次寻址即可;如果定位到的数组包含链表,对于添加操作,其时间复杂度依然为O(1),因为最新的Entry会插入链表头部,只需要简单改变引

2017-09-05 11:09:45 288

原创 C++ pair,map,vector简单用法

#include #include #include using namespace std;int main(){ pair p1; p1 = std::make_pair(1,2.5); cout<<p1.first<<endl<<p1.second<<endl; pair p2(2,4.56); cout<<p2.first<<endl<<p2.second<<end

2017-09-01 15:04:38 1473

转载 C++中vector的用法详解

vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的.     用法:          1.文件包含:                首先在程序开头处加上#include以包含所需要的类文件vector          还有一定要加上using name

2017-09-01 14:49:02 885

原创 求数组元素和是K的倍数的子串的最大长度

序列中任意个连续的元素组成的子序列称为该序列的子串。现在给你一个序列P和一个整数K,询问元素和是K的倍数的子串的最大长度。比如序列【1,2,3,4,5】,给定的整数K为 5,其中满足条件的子串为{5}、{2,3}、{1,2,3,4}、{1,2,3,4,5},那么答案就为 5,因为最长的子串为{1,2,3,4,5};如果满足条件的子串不存在,就输出 0。 输入: 第一含一个整数N

2017-09-01 13:06:07 4913

split_csv.sh

v6.csv有200多万行,excel的一个sheet最多显示104万行左右,显示不全,那么如何切分呢? 亲测可用

2020-03-21

htmlunit-2.31.jar

htmlunit-2.31,亲测可用!能很好的完成抓取需求,能够模拟输入、点击按钮、解析结果

2018-06-10

mhd raw metaimage java读取类

亲测可用,mhd raw metaimage java读取类。mhd raw metaimage java读取类。mhd raw metaimage java读取类。

2017-10-18

quartz定时任务

不用集成Spring,代码简洁,亲测可用

2017-05-20

Struts2登录实例--亲测可用

Struts2登录实例--亲测可用,拦截器,Action,值栈......都用到了

2017-05-17

joda-time-2.3.jar

DateTime类型,方便使用

2016-11-17

commons-lang-2.5.jar

解决..java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils问题

2016-07-08

commons-configuration-1.6.jar

解决..java.lang.NoClassDefFoundError: org/apache/commons/configuration/Configuration, 亲测可用

2016-07-08

android通过servlet与服务器验证用户信息

成功返回success,失败返回failed 1注意manifext.xml的权限 2 servlet project的类一定要extends httpservlet 3 servlet project中,com是包名,所以Tomcat是...classes/com/xxx.class 4 192.168.0.107是电脑的IP,需要手机电脑连接的是同一个wifi,电脑的防火墙一定要关闭

2016-03-26

全国省市县区域名称

省市县区域名称,例如: ................. 240: 云南省:昆明市 240864: 云南省 昆明市 东川区 240865: 云南省 昆明市 五华区 240866: 云南省 昆明市 呈贡县 240867: 云南省 昆明市 安宁市 ............

2015-11-17

拼图游戏C语言

拼图游戏开发,使用语言为C语言类,游戏开发,

2013-05-24

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

TA关注的人

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