自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(238)
  • 资源 (6)
  • 收藏
  • 关注

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

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

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

原创 Java后台开发面经

楼主作为入职蚂蚁3年的码农,之前也在博客里分享了一些自己实习和秋招的经验~现在已经3月份,蚂蚁金服2021届春招和2022届暑期实习的招聘已经开始了,我们组今年的HC比往年要多很多,大家有兴趣可以试一试~...

2021-03-09 13:43:02 388 1

原创 使用maven完成slf4j的配置

使用log日志系统而不是使用System的意义:1,打印不可控制如果不需要日志,那么使用system需要删除或者删除所有的相关代码,而log可以通过配置文件控制开关.2,没有分级log至少有5级,可以分层显示日志,而system一股脑打印出来.slf4j介绍:slf4j不是一个真正的日志实现,而是一个抽象层,它允许你在后台使用任意一个日志类库。如果是在编写供内外部都

2017-08-09 01:36:04 13223

原创 OAuth2的介绍

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

2017-08-01 17:22:32 950

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

首先确定本地maven环境配置ok,并与eclipse集成.NEW->Other->Maven->Maven Project接下来就是maven的groupid,artifact id,version的填写groupid:所在项目组的名字,一般是公司url倒置+项目组名artifactid:简单来说就是项目名version:版本号可以用默认的接下来一路按next

2017-07-13 09:33:34 20503 1

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

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

2017-06-28 10:11:00 1558

原创 mybatis的简单实例

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

2017-05-23 18:02:01 609

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

以前做online judge的时候用mysql+时间戳做消息队列,现在redis提供了一种现成的消息队列的模式,使用redis队列可以直接模拟消息通信的方式,在将并发转化为非并发时非常有用,同时通信的双方不需要关注彼此的信息,实现解耦合。比如用户提交了代码,我后台往消息队列压入题号,用户号,提交号,剩下的就交给判题脚本处理,判题脚本不需要了解其他信息,同时后台也不需要等待判题脚本执行结束,而是直

2017-05-22 19:26:53 1436

转载 spring常见错误总结

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

2017-05-16 21:00:18 657

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

之前一直都是用jsp+servlet+javabeans搭建网站应用,遂总结下今天学习的spring框架的内容相应的jar包:http://download.csdn.net/detail/fengsigaoju/9835903为了统一,在src下建立一个包命名为spring.firstdemo我们首先假设一个卖票的场景,有一个实体类ticket,其有3个属性,起点终点和票价。

2017-05-08 00:22:30 2911

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

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

2017-04-12 12:47:00 359

原创 java类加载过程

java---(编译)-->.class文件(字节码文件)--->(jvm处理)---->二进制机器码jvm加载过程为:1,装载,查找和导入Class文件.2,链接:    1,验证,确保Class文件中的二进制信息符合当前虚拟机的要求。    2,准备:为类变量分配内存并设置类变量初始值( 这时候分配内存和初始化的仅是static变量,实例变量需要在类加载时分配在java堆中

2017-04-08 12:49:10 345

原创 数组分割

我是不是写过的....记不清了,反正博客没找到,记录一下.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 class 数组分割2 { public static void main(String[]

2017-04-04 22:19:27 925

原创 单链表的翻转

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

2017-04-04 20:17:36 311

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

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

2017-04-01 15:56:41 865

原创 java序列化分析

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

2017-03-31 10:42:43 477

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

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

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

原创 JAVA垃圾回收机制总结

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

2017-03-09 16:22:09 413

原创 单例模式

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

2017-03-08 22:36:58 293

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

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

2017-03-06 21:21:29 531

原创 join的用法

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

2017-02-28 19:43:06 517

原创 JAVA 线程同步 synchronized

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

2017-02-23 22:31:17 245

原创 JAVA file操作研究

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

2017-02-22 21:01:22 398

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

鉴于ServerSocket的accept方法是阻塞的,那么只能通过多线程的方式实现多客户端连接与服务器连接基本步骤:1,服务端创建ServerSocket绑定端口号,循环调用accept()方法2,客户端创建一个socket并请求和服务器端连接3,服务器端接受客户端请求,创建socket与该客户建立连接4,两个socket在一个单独的线程上通话5,服务器端继续等待新的

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

原创 42翻转单词

输入一个英文句子,翻转单词顺序,但单词内字符顺序不变,比如输入i am a student.  输出student. a am i分两步,先翻转句子中所有字符,再以空格切割,对于每一个字符串再一次翻转。public class fourty_two { public static void main(String args[]){ Scanner cin=new Scanner(Sy

2017-02-19 22:18:43 313

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

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

2017-02-19 22:14:40 312

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

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

2017-02-16 22:18:50 1436

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

题目来源:http://ac.jobdu.com/oldexamset.php题目描述:    读入两个小于100的正整数A和B,计算A+B.    需要注意的是:A和B的每一位数字由对应的英文单词给出.输入:    测试输入包含若干测试用例,每个测试用例占一行,格式为"A + B =",相邻两字符串有一个空格间隔.当A和B同时为0时输入结束,相应的结果不要输出.

2017-02-14 21:20:05 702

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

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

2017-02-13 10:57:29 1691

原创 剑指offer中位运算技巧

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

2017-02-04 10:00:01 336

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

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

2017-01-28 20:10:55 11224

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

数模美赛里面用到元胞自动机比较多,这两天主要下研究这个。何谓自动机,说白了就是给定输入状态和前一个状态和下一个状态的转移方式,然后程序自己跑。所以运用元胞自动机的生命游戏就是一个无玩家游戏,也就是不需要人工介入,自己跑的游戏。元胞就类似遗传算法里的基因,也就是一个特性(一个人,一辆车),它受上下左右四个状态影响(或者加上左上左下,右上右下)首先介绍一下生命游戏:每一个各自有

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

原创 南邮GNU/Liunx复习总结

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

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

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

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

2016-11-29 10:30:59 21067 14

原创 leetcode 3 Longest Substring Without Repeating Characters

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

2016-11-25 21:17:18 262

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

题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序,请完成一个函数,输入这样的二维数组和一个整数,判断该数组中是否存在该整数。  其实质就是一种散列的思想,对于每一列来说,我只需要将待查询的数和每一列第一行(或者每一行第一列)比较,看看其属于某一列(行)然后再在里面进行比较,确定具体位置,当然书上的写法比较有技巧性,将两个步骤合在一起.pub

2016-11-25 19:31:59 384

原创 leetcode add two numbers

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

2016-11-24 20:10:54 255

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

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

2016-11-08 10:16:40 1171

原创 js简单计算器

正常写计算器肯定要转化成逆波兰表达式,然后再计算,但是考虑到eval函数我想偷个懒,确实可以解决绝大多数计算器问题,然而问题要求有次方......还得去写逆波兰表达式...虽然真正接触js还很短暂,但是我觉得他还是比较有意思的,尤其是搭oj的经历让我深刻地体会到,前台做的漂亮是王道啊。今天在路上,作为一个宅男猛然听到喊自己学长瞬间感到自己好老....但是看着自己写的东西被学弟学妹用着还

2016-10-31 00:59:18 1377

原创 js之简易网页时钟

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

2016-10-24 00:20:05 829

mybatis所用的jar包

mybatis开发中所使用的jar,还请不要误删..

2017-05-23

spring aop的jar包

spring框架aop使用的jar包,需要链接到博客里,因为学习spring经常对所用 jar包迷糊,需要做整理。还望不要误删了....

2017-05-19

spring jar包

spring jar包

2017-05-07

java实现的拼图游戏

拼图游戏

2017-01-28

java拼图游戏

java拼图游戏

2016-12-28

遗传算法的讲义

遗传算法的简单介绍,是做项目时老师给的,应该不会太差的吧...

2016-02-28

空空如也

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

TA关注的人

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