自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 使用maven完成slf4j的配置

使用log日志系统而不是使用System的意义: 1,打印不可控制 如果不需要日志,那么使用system需要删除或者删除所有的相关代码,而log可以通过配置文件控制开关. 2,没有分级 log至少有5级,可以分层显示日志,而system一股脑打印出来. slf4j介绍: slf4j不是一个真正...

2017-08-09 01:36:04 4833 0

原创 OAuth2的介绍

Oauth2 诞生背景 在传统的客户端-服务端模型中,第三方应用如何查询和操作服务端的受保护的资源是一个问题    简单举几个例子,用户浏览一个网站,想要在其网站上留言,往往需要进行注册登录操作,由于流程过于复杂,提高了用户的操作成本.再比如说第三方机构想要在用户许可后获得其信用积分,或者在其社交...

2017-08-01 17:22:32 632 0

原创 使用maven完成spring aop的xml配置

首先确定本地maven环境配置ok,并与eclipse集成. NEW->Other->Maven->Maven Project 接下来就是maven的groupid,artifact id,version的填写 groupid:所在项目组的名字,一般是公司url倒置+项目组名 ...

2017-07-13 09:33:34 12944 0

原创 南邮大作业----文本处理与加密软件

(一)课题内容 文本处理与加密软件要求首先把一个文本中满足特定特征的文本提取出来,然后对提取出来的文本进行加密处理。 (二)课题要求 (1)设计满足特征的文本的文法; (2)词法分析模块结构清晰,可以借助Lex或JavaCC、Antlr等工具自动生成词法分析程序; (3)选择某种加密算法对所提...

2017-06-28 10:11:00 855 0

原创 mybatis的简单实例

最近开始学习mybatis,感觉非常好用。 首先创建Mybatis_test项目,在src下创建lib文件夹,将mybatis的jar包和mysql连接的jar包添加到项目路径 随后使用mysql在mybatis的database下创建student表,具体内容如下: create table ...

2017-05-23 18:02:01 420 0

原创 redis的消息队列和发布订阅demo

以前做online judge的时候用mysql+时间戳做消息队列,现在redis提供了一种现成的消息队列的模式,使用redis队列可以直接模拟消息通信的方式,在将并发转化为非并发时非常有用,同时通信的双方不需要关注彼此的信息,实现解耦合。比如用户提交了代码,我后台往消息队列压入题号,用户号,提交...

2017-05-22 19:26:53 1097 0

转载 spring常见错误总结

spring常见错误总结  http://blog.csdn.net/sgx425021234/article/details/8979445 spring缺少常见jar包错误总结    http://www.cnblogs.com/xiaota/p/3728821.html5

2017-05-16 21:00:18 392 0

原创 spring框架学习(一):设值注入和构造注入

之前一直都是用jsp+servlet+javabeans搭建网站应用,遂总结下今天学习的spring框架的内容 相应的jar包:http://download.csdn.net/detail/fengsigaoju/9835903 为了统一,在src下建立一个包命名为spring.firstdem...

2017-05-08 00:22:30 1820 0

原创 阿里,华为,腾讯,小米2017实习面试经历

首先自我介绍,非985,非211学校,主要从事java后台开发,大一至现在做过两个项目(都不深),有一段去小公司的实习经历,今年刚到学校2月底才开始准备实习,陆续投了小米(我是米粉),阿里,华为,腾讯,京东,网易,今日头条等一系列互联网公司,小米,腾讯,今日头条挂一面,网易笔试过了和华为冲突了,去...

2017-04-16 13:29:50 11638 7

原创 垃圾收集器和杂七杂八

由于jdk版本处在高速迭代中,java有多种版本的收集器,比如serial收集器,ParNew收集器,cms收集器,G1收集器. 串行回收与并行回收:  串行回收就是同一时间只能有一个线程操作  并行回收就是同一时间有多个线程同时操作,但即使是并行回收,也仅是最大限度减少stop-the-worl...

2017-04-12 12:47:00 268 0

原创 java类加载过程

java---(编译)-->.class文件(字节码文件)--->(jvm处理)---->二进制机器码 jvm加载过程为: 1,装载,查找和导入Class文件. 2,链接:     1,验证,确保Class文件中的二进制信息符合当前虚拟机的要求。     2,准备:为类变量分配内...

2017-04-08 12:49:10 255 0

原创 数组分割

我是不是写过的....记不清了,反正博客没找到,记录一下. dp[i][j]代表:用i个物品装空间为j能否装的下, 状态转移方程:dp[i][j]=dp[i-1][j-w[k]](如果dp[i-1][j-w[k]]为真) import java.util.Scanner; public cl...

2017-04-04 22:19:27 341 0

原创 单链表的翻转

一次解决,还是蛮顺利的。大致思路就是用三个指针模拟。这篇博客已经通过画图讲的很清楚了http://blog.csdn.net/feliciafay/article/details/6841115 import java.util.Scanner; class ListNode{ int ...

2017-04-04 20:17:36 221 0

原创 编程之美之寻找发帖水王

简单来说就是求一个数组中出现次数超过一半的次数的数(保证存在),最容易想到的就是先排序,再返回中间位置的值。 优化方式就是每次删去两个不相等的数,最后找不到不相等的数,那么最后剩下的数就是这个出现次数超过一半的数。 考虑到每次寻找两个不相等的数比较困难,我们可以借助种思想换种写法。 用can...

2017-04-01 15:56:41 619 0

原创 java序列化分析

序列化的意义: 序列化的作用就是将对象转化为字节流,反序列化就是将读取的字节流恢复为对象,序列化是传输对象的一种手段(比如socket通信) 实现序列化有两种方式,一种是对象实现Serializable接口,另一种是实现externalizable接口.实现Serializable接口会自动将其所...

2017-03-31 10:42:43 322 0

原创 2017华为实习机试题(java)

题目1:    编写一个reverseadd函数,实现两个数倒置后再求和的功能,比如输入123,456就是求321+654,输出975    注意输入100,200输出3,(自动去除开头的0),超过范围输出-1    思路:    输入数据带空格,先切割出整数,然后用stringbuidler翻...

2017-03-25 10:07:01 7462 1

原创 JAVA垃圾回收机制总结

java语言的特点是引入了垃圾回收机制,大大减轻了程序员的压力。java语言规范并没有规定JVM使用哪种垃圾回收机制算法。 首先 1,引用计数算法.

2017-03-09 16:22:09 316 0

原创 单例模式

设计模式就是程序员总结出来的套路。 单例模式就是只能一般只能创建一个实例化对象。单例模式主要分为懒汉模式和饿汉模式,饿汉模式就是在类创建时就创建一个实例化对象,而懒汉模式就是在用户调用时才创建实例化对象。 饿汉模式: Singleton类 public class Single...

2017-03-08 22:36:58 214 0

原创 生产者与消费者问题研究

首先模拟单缓冲区生产者和消费者问题,wait()通常都要放入synchronized修饰的语句块中或者方法中,唤醒该线程需要调用同一对象的notify()或者notifyAll()方法 当调用某个对象notify()方法时,将从该对象等待集合中选择一个等待的线程唤醒,唤醒的线程将从等待集合中删除。...

2017-03-06 21:21:29 378 0

原创 join的用法

join是在某一个线程中调用。比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后,才会继续执行线程B。 实际用处是,同时开启两个线程,但是B线程的运行需要A线程的结果,这就需要在B中调用A.join();(这就需要在B中定义一个线程用来引入A) 下面是一个例子,随机生成10个数(线...

2017-02-28 19:43:06 338 0

原创 JAVA 线程同步 synchronized

先举个例子说明一下不采用线程同步带来的后果,假设现在我手上有20张票,雇佣2个人帮我卖票(2个人共享20张票),假设就剩最后一张了,那么如果一个人先看自己手上还有票,就卖给别人了,如果判断和卖个别人中间所花费时间过长,线程切给另一个人,此时票数还是2张,他认为也可以卖,就卖出了两张票。 publi...

2017-02-23 22:31:17 167 0

原创 JAVA file操作研究

统计了下寒假一共写了行代码: 因为所有代码都在这个工程下,所以宽度优先遍历这个文件夹即可,发现是文件就读取文件统计行数,发现是文件夹就将其全部内容添加至队列,一开始还傻乎乎正则匹配来判断是文件夹还是文件,后来发现提供了一个api 一共是7507,主要是dota2玩嗨了.. fileconut...

2017-02-22 21:01:22 315 0

原创 多线程实现服务器与多个客户端通信

鉴于ServerSocket的accept方法是阻塞的,那么只能通过多线程的方式实现多客户端连接与服务器连接 基本步骤: 1,服务端创建ServerSocket绑定端口号,循环调用accept()方法 2,客户端创建一个socket并请求和服务器端连接 3,服务器端接受客户端请求,创建...

2017-02-20 20:03:24 17005 2

原创 42翻转单词

输入一个英文句子,翻转单词顺序,但单词内字符顺序不变,比如输入i am a student.  输出student. a am i 分两步,先翻转句子中所有字符,再以空格切割,对于每一个字符串再一次翻转。 public class fourty_two { public static voi...

2017-02-19 22:18:43 220 0

原创 22.栈的压入和弹出序列

给定两个序列A,B,判断按照A的入栈顺序能否得到B的出栈顺序 思路比较明确,创建一个栈,当栈为空,或者栈顶元素不是B的目前序列元素(这部分可以用数组或者列表保存),那么就按照A的序列顺序压入下一个数,如果是的话就将这个数出栈。如果A的所有元素已经入栈,但是B的元素还有没有入栈的,那么说明不符合。...

2017-02-19 22:14:40 233 0

原创 基于tcp的socket通信(单个客户端与服务端)

//先启动服务端,创建8888端口号(一般采用系统1023之后的),监听,如果存在通信返回socket,获得该socket字节流,转化为字符流并用bufferedreader缓冲,随后打印出服务端接收到的信息,同时回复客户端信息,最后关闭资源。 import java.io.Buffered...

2017-02-16 22:18:50 997 0

原创 浙江大学研究生2005年上机题java实现

题目来源:http://ac.jobdu.com/oldexamset.php 题目描述:     读入两个小于100的正整数A和B,计算A+B.     需要注意的是:A和B的每一位数字由对应的英文单词给出. 输入:     测试输入包含若干测试用例,每个测试用例占一行,格式为"A...

2017-02-14 21:20:05 555 0

原创 jsp对于关闭mysql数据库的研究(数据库连接数过多)

首先今天和以前经常会碰到一个问题就是连接数过多,通常是没有及时关闭数据库连接导致的。 如果是jsp+mysql直接写的代码那么直接在数据库连接代码+操作之后添加如下代码即可完成: try{ if(result != null){ result.close(); ...

2017-02-13 10:57:29 1129 0

原创 剑指offer中位运算技巧

public class first { public static void main(String args[]){//A是第一列,B是第二列,z是第26列,AB是第27列,输入一串字符串,求是第几列 Scanner cin=new Scanner(System.in); St...

2017-02-04 10:00:01 229 0

原创 Ajax+jsp实现动态修改表格

ajax最大特点就是在页面不刷新的前提下实现页面内容的变换。 举个很常见的例子:比如有一个排行榜,这个排行榜肯定是随时变化的,我们希望用户不需要刷新页面的情况下就可以看到实时表格。(游戏排行榜,oj提交列表) 为了实现这个功能,我们需要掌握以下技术:ajax向后台提出请求(每隔很短的时间)----...

2017-01-28 20:10:55 8319 0

原创 元胞自动机及生命游戏

数模美赛里面用到元胞自动机比较多,这两天主要下研究这个。 何谓自动机,说白了就是给定输入状态和前一个状态和下一个状态的转移方式,然后程序自己跑。 所以运用元胞自动机的生命游戏就是一个无玩家游戏,也就是不需要人工介入,自己跑的游戏。 元胞就类似遗传算法里的基因,也就是一个特性(一个人,一辆...

2017-01-15 11:51:51 3124 3

原创 南邮GNU/Liunx复习总结

从标准输入文件中读取字符,并将读取字符输出至标准输出文件中。 注意 课本给出的代码缺少头文件#include (会弹出warning) 同时需要指定STDIN_FILENO为0.STDOUT_FILENO为1 six_one.c: #include #include #incl...

2016-12-14 17:56:46 317 1

原创 JAVA实现页面置换算法(OPT,FIFO,LRU)

public class page_replacement { private int n;//内储页框 private int m;//访问次数 private int F;//没能直接找到的次数,(F/m)为缺页率 private Listlist=null;/...

2016-11-29 10:30:59 12920 12

原创 leetcode 3 Longest Substring Without Repeating Characters

用hashmap实现比较简单,其实质就是维护一个列表,根据列表元素个数来更新,如果列表中存在(设为m)就把之前那个m和它之前都删掉,从之前的m的后一个开始考虑 import java.util.HashMap; import java.util.Map; public class Solu...

2016-11-25 21:17:18 196 0

原创 剑指offer习题---二维数组中的查找

题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序,请完成一个函数,输入这样的二维数组和一个整数,判断该数组中是否存在该整数。   其实质就是一种散列的思想,对于每一列来说,我只需要将待查询的数和每一列第一行(或者每一行第一列)比较,看看其属于某一列(行...

2016-11-25 19:31:59 287 0

原创 leetcode add two numbers

好久没有写博客了,总之没想到大学生活要结束的这么快...接下去就是努力找实习吧。 public ListNode addTwoNumber(ListNode l1,ListNode l2){ int carry=0;//设置进位 ListNode p=new ListNode(-1);//新建...

2016-11-24 20:10:54 171 0

原创 jquery无法移出元素(form表单自动刷新)

今天遇到一个坑,想判断用户输入成功后使用jquery移出元素,但是失效,后来发现因为提交成功后     form表单自动刷新 1.html Login ...

2016-11-08 10:16:40 1032 0

原创 js简单计算器

正常写计算器肯定要转化成逆波兰表达式,然后再计算,但是考虑到eval函数我想偷个懒,确实可以解决绝大多数计算器问题,然而问题要求有次方...... 还得去写逆波兰表达式... 虽然真正接触js还很短暂,但是我觉得他还是比较有意思的,尤其是搭oj的经历让我深刻地体会到,前台做的漂亮是王道啊。 ...

2016-10-31 00:59:18 1215 0

原创 js之简易网页时钟

没什么太多难点,比用java写时钟简单的太多,唯一需要载入页面先绘制一次,再调用setInterval()方法,否则浏览器就会先空白一段时间 clock window.onload=draw; function draw() { clock();//先绘制一次...

2016-10-24 00:20:05 602 0

原创 jsp使用验证码及验证码的点击刷新功能的实现

昨天的主要工作就是添加验证码功能,感觉还是挺有意思的。 首先总结下流程:登录注册界面->后台生成图片和这个图片对应的数字->前台的jsp页面获得图片所对应的数字->当用户点击提交后判断用户输入的与存储的数字是否一样 后台生成图片代码number.jsp: <%! Colo...

2016-10-21 13:32:38 8658 4

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