- 博客(52)
- 资源 (2)
- 收藏
- 关注
原创 算法:部分字符串按顺序换位
京东达达遇到的一个面试算法题:设计一个算法:方法有两个参数,第一个是一个字符串,另一个是一个整数n,整数代表讲字符串前n位换到字符串的末尾,eg :输入:“abcdefg”,3 输出: “defgabc”; 使用O(1)的空间复杂度如何完成。第一想法是是使用native方法arrayCopy来做,效率较高,只需要开辟一段空间即可。面试官听说这种想法后,立即加了个限制的条件,使用O(1...
2019-07-26 18:07:58
501
原创 算法:无重复字符的最长子串
无重复字符的最长子串给定一个字符串,找出不含有重复字符的最长子串的长度。示例:给定"abcabcbb",没有重复字符的最长子串是"abc",那么长度就是3。给定"bbbbb",最长的子串就是"b",长度是1。给定"pwwkew",最长子串是"wke",长度是3。请注意答案必须是一个子串,"pwke"是子序列而不是子串package com...
2019-07-15 18:04:55
196
原创 Proxy代理
Proxy的使用, System.getProperties().put("sun.misc.ProxyGenerator.saveGeneratedFiles", "true");这个参数可在target目录下生成反射生成的代理的class文件,可反编译进行查看package com.mhc.test;import java.lang.reflect.Construc...
2019-06-18 18:24:05
295
原创 设计模式之单例模式
单例模式现在了解到的单例模式有懒汉模式、饿汉模式 、静态内部类模式、静态代码块模式、单元素枚举类模式、登记模式懒汉模式饿汉模式静态内部类模式静态内部类模式(Holder),使用私有的静态内部类,来存储外部类的单利,这种静态内部类称为Holder,使用更少的代码来实现延迟加载的目的。(静态的内部类的特性:外部类静态方法可以直接拿到内部类持有的对象,私有的也可以;静态内部类可调用外部类的方法...
2019-06-18 14:24:09
123
原创 数组实现队列
数组实现队列前言面试遇到一道算法题: 使用一个数组来实现一个先进先出(FIFO)的队列。思路使用数组实现一个FIFO队列,很容易跟循环数组联系起来,首先使用两个指针来指向head、tail两个位置,也可以理解为first、last,假设数组的长度为n,数组下表从0开始,最后一个则为n-1,如果我们想让这个数组循环用起来的话,那么n-1后面就应该是0.可能出现的情况代码及测试代码...
2019-04-23 16:54:26
635
转载 状态模式
参考地址:https://blog.youkuaiyun.com/zy52002520/article/details/80624002电梯状态图
2019-04-16 23:39:39
100
原创 git安装配置
前言git是分布式的版本控制工具,以前用过很多次,都是在网上搜索资料,一直没有进行系统的学习,感觉学习方法还是有问题,尝试着这种博客记录的方式来学习吧。正文一、git help首先介绍一下git help,这个的帮助文档可帮助你熟悉git的使用(当然你得英文水平过关,要不然看着就贼蓝瘦。。,或者查看git官 方版中文帮助文档,这个蛮nice的):git help (需要查看的命...
2018-08-31 00:01:44
210
原创 证书操作(openssl、keytool)
最近弄了很久的证书相关的东西,对其中使用到的一些命令做下记录,有空再补一下使用的java代码证书转换(openssl):openssl pkcs12 -export -inkey test.key -in test.cer -out test.pfxopenssl pkcs12 -in test.pfx -nodes -out test.pemopenssl rsa -in te...
2017-06-15 10:08:00
1654
原创 springMVC+mybatis框架
最近在做一个springMVC的项目,以前未使用过,发现配置框架很麻烦,可能是自己第一次接触springMVC吧,环境是eclipse 用maven管理依赖包,数据源用c3p0。修改参考的原文地址:http://my.oschina.net/u/1011897/blog/199172?fromerr=Ff6blFLs 谢谢博主分享。在修改的过程中遇到一些问题,调试了两天,最
2015-12-08 19:57:38
333
转载 String.intern()-字符串常量池
转载的博客 : http://blog.youkuaiyun.com/chaofanwei/article/details/19486919在看java虚拟机这本书的时候,很疑惑,同样是字符串 为什么“java”这个不是首次出现 , 和小伙伴尝试了良久,最终理解是 “java”这个字符串存放在字符串常量池中,像int、char这些关键字一样,都会返回false下面
2015-08-25 20:46:10
431
原创 混编字符问题
package com.pingan.mhc.bishi;import org.junit.Test;/** * @author mhc * A、B和C。如果C包含且仅包含来自A和B的所有字符,而且在C中属于A的字符之间保持原来在A中的顺序,属于B的字符之间保持原来在B中的顺序,那么称C是A和B的混编。实现一个函数,判断C是否是A和B的混编。 给定三个字符串A,B和C,及
2015-08-20 17:39:59
547
原创 循环队列查找问题
四五月份找实习的时候,在去哪儿的现场笔试题上有一道循环有序的查找问题,当时用了最简单粗暴的方法解决这个问题,就是for循环解决的,当时也算运气好,没想实现的效率,只是纯粹的想实现这个功能,还好有面试的机会,但在面试的时候这个问题还是被问到了,当时没准备好,没回答出来,接连几个问题都没回答出来,最终挂掉了.现在来总结一番.这个是java的解决方法.之后再附上python的方法,感觉上更加
2015-08-19 19:59:57
1797
原创 求最大值最小值以及第K大值问题(顺序统计量问题)
参考博客http://blog.chinaunix.net/uid-28311809-id-4267159.html,谢谢博主!同时求最大值最小值,这个算法会少一些比较次数:python版的代码:# -*- coding: UTF-8 -*-def find_max_min(A): print "寻找最大最小值" max_num = min_num = 0 j = 0
2015-08-19 11:21:44
1015
转载 KMP算法复习
大二时学习了KMP模式匹配算法,但是今天偶然被问起,才觉得已经忘得差错不多了,遂复习了一下,参考连接http://blog.youkuaiyun.com/yutianzuijin/article/details/11954939,谢谢博主分享。讲的很详细,看之前的几篇都觉得略费劲。写了一个对比的测试程序,用普通的查找子串的方法和KMP算法作比较,效率的确高很多。附上测试的程序:pack
2015-08-12 16:41:57
338
转载 log4j入门到、详解
参考链接点击打开链接,原文地址:http://blog.youkuaiyun.com/azheng270/article/details/2173430/ 感谢博主分享。然后附上pdf文档
2015-08-05 14:36:01
393
翻译 HashMap的四种遍历
HashMap是一种key-value方式存储数据的数据结构,加上jdk5后出现了foreach的遍历方式,所以遍历的方式比较多,参考网上的资料大概总结了四种遍历的方式。 直接贴代码:package com.mhc.map;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.
2015-07-28 09:18:32
292
原创 java的ThreadLocal
刚刚接触到ThreadLoacl。 再看别人博客的时候发现线程同步和线程安全的区别都不清楚,先来了解一下线程同步和线程安全的区别吧。 线程安全就是说多线程访问同一代码,不会产生不确定的结果。编写线程安全的代码是低依靠线程同步。首先来看看线程安全的实现原理: jvm有一个main memory,而每个线程有自己的working memory,一个线程对一个变量进行操作时,都要在自己的
2015-07-24 10:55:03
334
原创 spring配置和dubbo
暑假找到了实习,刚进公司就做了一个脱产的模拟系统,积分商城.在这中间的新同事用了很多以前不熟悉的东西,比如dubbo,第一个做项目不是以创建web项目的方式,而是建立一个普通的java工程,然后建立另一个表面的项目,作为接口的暴露项目,另一个项目作为实际代码的编写项目,这样处理的确可以更加的安全.收获很多,写一下收获和遇到的一些问题吧.spring的配置以前用的都是使set/get的方式进行注入的,
2015-07-21 13:58:46
418
翻译 java实现线程池
参考的博客:http://www.cnblogs.com/hustcat/archive/2008/10/10/1308425.htmlpackage com.mhc.simulate;import java.util.ArrayList;public class ThreadPoolManager { private ArrayList threads;//保存
2015-06-26 00:38:57
326
原创 用Idea配置Tomcat及建立web项目
创建Maven项目,注意需要是Idea的旗舰版,社区版的不适用,勾选Create from archetype 选择第二个webapp等待下载完成创建一个java目录用来放置源文件,并设为SourceFolders勾选importing Maven projects automatically,否则后面会出现
2015-06-23 22:04:50
313
原创 贪心算法之最优分解(实验报告版)
西 安 邮 电 大 学 (计算机学院) 课内实验报告 实验名称: 贪心算法 专业名称: 计算机科学与技术班 级: 学生姓名: 学号(8位): 指导教师: 实验日
2015-06-23 00:41:21
3955
原创 动态规划之最大K乘积(实验报告版)
西 安 邮 电 大 学 (计算机学院) 课内实验报告 实验名称: 最大K乘积 专业名称: 计算机科学与技术班 级: 计科1202 学生姓名: ——————学号(8位):————————指导教师: ————————实验日期: 2015年5月12日
2015-06-22 23:50:35
2056
转载 JMenu的使用
package com.mhc.learn;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.ButtonGroup;import javax.swing.ImageIcon;import
2015-05-30 18:39:51
1032
原创 装Ubuntu15.04的一些经验
因为一次意外,我电脑的硬盘被删除了,所以不得不重新装系统,以前就是win7和ubuntu14.04双系统,所以这次还是决定装双系统,正巧,最近ubuntu15.04更新了,就打算装这个。装系统的过程有点煎熬,光是刻盘,前前后后就刻了20多次,一点都不是虚夸,开始一直以为是U盘的问题,同学的电脑都用我刻的盘装上了,我的电脑却是一直卡在log的截面,按esc会发现acpi not enable的提
2015-05-29 18:02:55
528
转载 关于java数组的初始化
前两天的java程序设计大赛中就有好几个题考到了这个知识点,包括了静态初始化的两种写法和动态初始化的一种写法学习的链接,谢谢 点击打开链接
2015-05-21 19:41:34
306
原创 java Web的常见问题
开一帖记录平时web开发中的常见问题:1.获取路径问题:参考链接:http://www.2cto.com/kf/201212/176368.html Path = ListServlet.class.getResource("/").toString(); Path = Path.split("file:/")[1];//这种方式获取的path是带“file:/”开头的,
2015-05-18 00:07:07
367
原创 两种解析properties配置文件的方式
package com.mhc.test;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.util.Proper
2015-05-17 22:51:38
431
原创 java Comparator接口和PriorityQueue优先级队列的使用
首先是Comparator接口:package mhc.learn.Collection;import java.util.Comparator;import java.util.Date;/** * 参考博客:http://www.cnblogs.com/linjiqin/archive/2011/08/31/2160360.html *在java中,如果要对
2015-05-17 21:27:43
1064
原创 一道删除数的编程题
原博客地址:http://blog.chinaunix.net/uid-22566367-id-382018.html,谢谢博主! 感觉博主写的有点繁琐,特别是寻找两个不为0的值的时候。解题的思路是:在数组中先找到两个不为0的数,第三个数就是需要删除的,赋值为0表示删除掉,再寻找下个不为0的删除,#include #include #define MAXSIZ
2015-05-15 16:26:19
419
原创 java反射
java中获取字节码的方式类名.class和ClassforName(类名)和实例.getClass三种方式。(如果有错误请联系我qq 1014113863)反射l 反射就是把Java类中的各种成分映射成相应的java类。例如,一个Java类中用一个Class类的对象来表示,一个类中的组成部分:成员变量,方法,构造方法,包等等信息也用一个个的Java类
2015-05-12 20:59:08
315
原创 动态规划 编辑距离
参考的博客有点击打开链接和点击打开链接,感谢博主!源代码:#include#include#define MAXSIZE 100char s1[MAXSIZE],s2[MAXSIZE];int editDistance(int len1,int len2);//求编辑距离int min(int a,int b,int c);//求最小值的函数int le
2015-05-10 19:35:44
304
原创 java内部类
直接上代码,注释中有详细的介绍package com.Tests;/** * Created by mhc on 2015/4/26. * This is test static nested class * *//* java允许我们在一个类里面定义静态类。比如内部类(nested class)。把nested class封闭起来的类叫外部类。在java中, 我
2015-04-26 12:37:29
274
原创 关于原子操作AtomicInteger、AtomicBoolean等
AtomicInteger是线程安全的,不会因为高并发而出现错误,而++和--这两种就可能出错,若果非要用++和--等操作的话必须使用synchronized上锁。更加详细的介绍请参见:http://blog.youkuaiyun.com/zz198808/article/details/8029405 感谢博主的博文。测试AutomicInteger的代码package com.Tests;
2015-04-26 10:03:30
418
原创 java序列化
直接上代码: package mhc.learn.Serializable;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectInputS
2015-04-13 20:53:58
296
原创 java多线程理解 以及java实现的简单的死锁
多线程,三大机制中的一个,编程问题的一个难点,在前两天的面试中,就被问到了这个问题,尴尬的是当时居然没回答上来,最后还被刷了,想起来还真是尴尬。 说到多线程,先来理解一下线程吧。 线程,也被称为“轻量级进程”,是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己
2015-04-13 12:54:26
364
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人