Java
文章平均质量分 67
fengsigaoju
本科:南京邮电大学
座右铭:凤兮凤兮思高举!
展开
-
Java后台开发面经
楼主作为入职蚂蚁3年的码农,之前也在博客里分享了一些自己实习和秋招的经验~现在已经3月份,蚂蚁金服2021届春招和2022届暑期实习的招聘已经开始了,我们组今年的HC比往年要多很多,大家有兴趣可以试一试~...原创 2021-03-09 13:43:02 · 411 阅读 · 1 评论 -
Ajax+jsp实现动态修改表格
ajax最大特点就是在页面不刷新的前提下实现页面内容的变换。举个很常见的例子:比如有一个排行榜,这个排行榜肯定是随时变化的,我们希望用户不需要刷新页面的情况下就可以看到实时表格。(游戏排行榜,oj提交列表)为了实现这个功能,我们需要掌握以下技术:ajax向后台提出请求(每隔很短的时间)------>jsp获取请求并查询数据库----->返回json格式数据----->js解析json格式数原创 2017-01-28 20:10:55 · 11256 阅读 · 0 评论 -
JAVA file操作研究
统计了下寒假一共写了行代码:因为所有代码都在这个工程下,所以宽度优先遍历这个文件夹即可,发现是文件就读取文件统计行数,发现是文件夹就将其全部内容添加至队列,一开始还傻乎乎正则匹配来判断是文件夹还是文件,后来发现提供了一个api一共是7507,主要是dota2玩嗨了..fileconut.javapublic class filecount { public static i原创 2017-02-22 21:01:22 · 407 阅读 · 0 评论 -
JAVA 线程同步 synchronized
先举个例子说明一下不采用线程同步带来的后果,假设现在我手上有20张票,雇佣2个人帮我卖票(2个人共享20张票),假设就剩最后一张了,那么如果一个人先看自己手上还有票,就卖给别人了,如果判断和卖个别人中间所花费时间过长,线程切给另一个人,此时票数还是2张,他认为也可以卖,就卖出了两张票。public class testdouble implements Runnable{ private原创 2017-02-23 22:31:17 · 258 阅读 · 0 评论 -
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 · 269 阅读 · 0 评论 -
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 · 270 阅读 · 0 评论 -
剑指offer习题---二维数组中的查找
题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序,请完成一个函数,输入这样的二维数组和一个整数,判断该数组中是否存在该整数。 其实质就是一种散列的思想,对于每一列来说,我只需要将待查询的数和每一列第一行(或者每一行第一列)比较,看看其属于某一列(行)然后再在里面进行比较,确定具体位置,当然书上的写法比较有技巧性,将两个步骤合在一起.pub原创 2016-11-25 19:31:59 · 394 阅读 · 0 评论 -
将本地数据库里的表上传至服务器
一般来说在本地用tomcat搭建的环境做测试会在本地的数据库里留下一些数据,如果在服务器上不需要这些数据,那直接在服务器上新建数据库,修改代码中的路径即可。但是如果这些数据库需要保存,那么步骤如下:1,使用nacivcat 导出数据库中的某个表的数据.为sql文件(使用命令行一样)2,将该文件上传至服务器.,记住路径3,在服务器上命令行登陆数据库,创建一个database ,使用sou原创 2016-09-20 18:27:16 · 7880 阅读 · 0 评论 -
javamail中文乱码解决
oj的那个发送邮件的主题总是中文乱码,查了好多文献也没能解决,最终发现一个完美的解决方案 原文地址:http://blog.csdn.net/tolcf/article/details/41477003 (本人亲测,非常好用,适用于本地没有问题但是上线后邮件标题乱码,中文没有问题的情况)最转载 2016-10-19 23:28:35 · 10294 阅读 · 0 评论 -
剑指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 · 348 阅读 · 0 评论 -
单例模式
设计模式就是程序员总结出来的套路。单例模式就是只能一般只能创建一个实例化对象。单例模式主要分为懒汉模式和饿汉模式,饿汉模式就是在类创建时就创建一个实例化对象,而懒汉模式就是在用户调用时才创建实例化对象。饿汉模式:Singleton类public class Singleton {//饿汉模式,只要创建的这个类,对象已经加载 private Singleton(){原创 2017-03-08 22:36:58 · 302 阅读 · 0 评论 -
南邮大作业----文本处理与加密软件
(一)课题内容 文本处理与加密软件要求首先把一个文本中满足特定特征的文本提取出来,然后对提取出来的文本进行加密处理。(二)课题要求(1)设计满足特征的文本的文法;(2)词法分析模块结构清晰,可以借助Lex或JavaCC、Antlr等工具自动生成词法分析程序;(3)选择某种加密算法对所提取的文本进行加密;(4)界面美观。这里我们采用hanlp的汉语言处理包http:/原创 2017-06-28 10:11:00 · 1618 阅读 · 0 评论 -
spring框架学习(一):设值注入和构造注入
之前一直都是用jsp+servlet+javabeans搭建网站应用,遂总结下今天学习的spring框架的内容相应的jar包:http://download.csdn.net/detail/fengsigaoju/9835903为了统一,在src下建立一个包命名为spring.firstdemo我们首先假设一个卖票的场景,有一个实体类ticket,其有3个属性,起点终点和票价。原创 2017-05-08 00:22:30 · 2931 阅读 · 0 评论 -
java类加载过程
java---(编译)-->.class文件(字节码文件)--->(jvm处理)---->二进制机器码jvm加载过程为:1,装载,查找和导入Class文件.2,链接: 1,验证,确保Class文件中的二进制信息符合当前虚拟机的要求。 2,准备:为类变量分配内存并设置类变量初始值( 这时候分配内存和初始化的仅是static变量,实例变量需要在类加载时分配在java堆中原创 2017-04-08 12:49:10 · 356 阅读 · 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 class 数组分割2 { public static void main(String[]原创 2017-04-04 22:19:27 · 946 阅读 · 0 评论 -
JAVA垃圾回收机制总结
java语言的特点是引入了垃圾回收机制,大大减轻了程序员的压力。java语言规范并没有规定JVM使用哪种垃圾回收机制算法。首先 1,引用计数算法.原创 2017-03-09 16:22:09 · 425 阅读 · 0 评论 -
java序列化分析
序列化的意义:序列化的作用就是将对象转化为字节流,反序列化就是将读取的字节流恢复为对象,序列化是传输对象的一种手段(比如socket通信)实现序列化有两种方式,一种是对象实现Serializable接口,另一种是实现externalizable接口.实现Serializable接口会自动将其所有成员序列化,实现externalizable需要程序员指定成员序列化.首先展示实现Serli原创 2017-03-31 10:42:43 · 495 阅读 · 0 评论 -
使用javamail发送验证邮件
一般我们注册账号时,网站通常会要求我们填写一个邮箱地址,随后发送一封验证邮件到该邮箱,我们点击邮件里的验证链接(或者填写发送的验证码)就可以完成注册。这个功能可以通过javamail实现.首先原材料:下载javamail的jar包,一般为javax.mail.jar之类的. 下载jaf的包,一般为activation,jar之类的.将两个包添原创 2016-10-03 13:16:45 · 4668 阅读 · 0 评论 -
url传值中文乱码的解决方案
使用javamail发送邮件时,当用户注册链接后跳转时传递url+?+参数名+值,但是如果传递的部分有中文就会出现中文乱码问题.经过检查发送邮件前后两个servlet编码格式均为utf-8应该不存在编码格式问题,查看邮件中的url地址发现中文也是正确的(这里就不要吐槽为什么为啥传的是中文了2333学习用的就没有加密),so问题出现在用户点击链接跳转到servlet的过程中,经过查询资料得知原创 2016-10-13 23:48:26 · 2389 阅读 · 0 评论 -
jsp使用验证码及验证码的点击刷新功能的实现
昨天的主要工作就是添加验证码功能,感觉还是挺有意思的。首先总结下流程:登录注册界面->后台生成图片和这个图片对应的数字->前台的jsp页面获得图片所对应的数字->当用户点击提交后判断用户输入的与存储的数字是否一样后台生成图片代码number.jsp:<%!Color getRandColor(int fc,int bc){ Random random = new Random(原创 2016-10-21 13:32:38 · 11931 阅读 · 4 评论 -
jsp继续学习
//表单提交的两种方式get 和post//get传输量小且安全性低(用户名和密码都能在URL中看到),但效率高//Post很适合做数据量大且安全性要求高的页面//顺便复习一下表单的标签//这是index.jsp的页面<%String path = request.getContextPath();String basePath = request.getScheme()原创 2016-02-21 19:24:42 · 294 阅读 · 0 评论 -
jsp继续学习
对于out对象println 向客户端打印字符串clear 清除缓冲区内容,如果先用flush会抛出异常clearbuff 清除缓冲区,如果先用flush不会抛出异常flush 将缓冲区内容输出到客户端(就是原来在脚本运行结束后一起输出,现在一旦遇到flush会先将之前保存在缓冲区的内容输出)getBufferSize 返回缓冲区大小,字节表示getRemaining 返回原创 2016-02-21 12:18:21 · 287 阅读 · 0 评论 -
jsp的继续学习
脚本程序可以包含任意量的Java语句、变量、方法或表达式,只要它们在脚本语言中是有效的。脚本程序的语法格式:一个声明语句可以声明一个或多个变量、方法,供后面的Java代码使用。在JSP文件中,您必须先声明这些变量和方法然后才能使用它们。JSP声明的语法格式:一个JSP表达式中包含的脚本语言表达式,先被转化成String,然后插入到表达式出现的地方。由于表达式的值会被原创 2016-02-19 21:54:28 · 314 阅读 · 0 评论 -
jsp打印九九乘法表
表示自学伤不起啊,java学的就很莫名其妙,一开始我把函数写在标题的里面为什么就错了,也不懂,总之,如果用表达式来打印九九乘法表,一定要有一个函数返回的是字符串,然后调用之,如果用脚本(也就是自己的事情自己解决),要用到自带的out其次因为有中文,注意编码格式<%String path = request.getContextPath();String basePath = requ原创 2016-02-21 11:02:29 · 3132 阅读 · 0 评论 -
我的第一个jsp程序
捣鼓了半天才弄出第一个jsp程序.在不用IDE的情况下,在tomcat的文件夹下新建一个文件夹myhome,在文件夹下建立一个txt起名index.jsp同时新建一个WEB-INF的文件夹,里面有两个文件夹(起名classes和lib里面都为空),拷贝tomcat下examples里的WEB-INF里的web.xml,修改里面的内容(开头的注释可以去掉,中间从WEB-INF两个标签之间的全部去原创 2016-02-18 23:11:49 · 968 阅读 · 0 评论 -
tomcat7.0的部署
jdk的安装一般在学习java中已经涉及首先下载tomcat压缩包,地址http://tomcat.apache.org/,点击download,选择符合选项下载,如我是选择64-bit Windows zip,下载后解压缩(这个无需安装,一定要记住解压缩的地址)打开配置java环境变量的地方,在系统变量处新建变量,变量名CATALINA_HOME,变量值刚刚解压缩的地址,此时不出意外已经安装原创 2016-02-18 22:07:47 · 743 阅读 · 0 评论 -
关于直接在Windows下编译java
首先写好java代码,保存后缀名为.java格式,输入cmd进入命令行模式,假设文件是放在e盘下的,输入e:进入e盘,先输入javac+文件名(含后缀名),回车后再输入java+文件名(不含后缀名)原理是:源文件->(编译器)使用javac命令->字节码文件(不同平台是相同的,这也是java跨平台的原因)->解析器原创 2016-02-18 19:42:23 · 2026 阅读 · 1 评论 -
request继续学习
object setAttribute(String name)//返回指定属性的属性值String getContentType()//得到请求体的MIME类型String getProtocol()//得到类型协议及版本号String getServerName()//返回接受请求的服务器主机名String getServerPort()//请求服务器端口号int requ原创 2016-03-02 12:07:04 · 360 阅读 · 0 评论 -
jsp继续学习(request对象)
action处理页面的名字,method提交的方式request.getParameter可以获得text类型的提交内容,后面跟text类型的namerequest.getParameterValues可以获得checkbox类型的选型的value,后面跟checkbox类型的name这是Index页面<%String path = request.getContext原创 2016-02-22 23:06:56 · 343 阅读 · 0 评论 -
JSP继续学习(完成一个最简单的用户登录界面)
感觉只看视频效率太低,请教了别人,于是趁着有空自己写了个简单至极的登录界面,练练手。功能是1登录,用户名是fengsigaoju,密码123456若不相等就报错,否则就显示登陆成功.2注册,在判断用户名和密码为空那边花了点时间,判断新老密码各种搜索.3一开始 一直错误,加了值就过了,也不知道为什么,有谁肯告知,万分感谢。自学难啊...Myjsp原创 2016-03-12 00:06:18 · 22941 阅读 · 1 评论 -
jsp继续学习
这次学习的目的:1继续熟悉用户登录的各种写法2体会session的用法3在登录失败后在页面显示5秒后自动跳转session对象常用方法:1 getCreation Time()返回session对象的建立时间(注意是秒,所以需要更改时间格式)2,String getId()返回seeion创建时的唯一编号3setAttribute(String name ,O原创 2016-03-27 00:01:50 · 411 阅读 · 0 评论 -
java web 分页实现
转载自http://blog.csdn.net/xiazdong/article/details/6857515分页须知知识点:(1)JDBC2.0的可滚动结果集。(2)HTTP GET请求。一、可滚动结果集Connection con = DriverManager.getConnection();PreparedStatement stmt = c转载 2016-10-08 22:51:18 · 4081 阅读 · 0 评论 -
jsp实现登录注册(与数据库对接)
最近做了一些图像处理的内容,闲暇时间搞了下jsp,终于把至少两个月之前的代码的bug找出来了...具体内容我在之前一篇博文有介绍,主要是增加了数据库的部分。其实一样处理,获得输入的用户名,密码,然后判断是否需要在当前页面用javascipt处理下(比如注册肯定是需要的,起码两次密码输的要一样),然后跳转逻辑页面,对接数据库,进行增删查改,最后跳转相应的页面.有几点需要注意:1,myecli原创 2016-09-02 18:47:41 · 78714 阅读 · 21 评论 -
java大作业之拼图游戏
这个拼图游戏是帮同学做的,还是挺不错的,实现功能包括:自动选取图片,自动图片,且保证生成的一定有解,还有倒计时功能。先说下如何保证有解,两种方法:1,先切割然后自己后台让空格自己随机移动。 2,生成全排列,然后判断是否有解:原创 2016-06-22 16:11:19 · 23580 阅读 · 28 评论 -
java对接mysql(增删改)
查找在前一篇有过了,这里就是增删改,student表的结构还是同上一篇.package mysql;import java.sql.*;public class mysql2 { static PreparedStatement sql;public static void main(String[] args){ // 驱动程序名原创 2016-06-19 23:03:11 · 1467 阅读 · 0 评论 -
java迷宫
终于放假了,可以研究一些好玩的东西了,先把之前用c语言写的迷宫用swing冲写了下界面,算法部分并没有做什么修改,原来的链接这个比拼图还要简单,因为并不涉及线程,只要在按键wsad后重绘就行。尝试了菜单栏的用法,比较奇怪的是JMenu貌似并不能添加监听事件(假设我并没有下拉的子菜单),必须只能给JMenuItem添加监听事件(这就意味着哪怕只有一个选项也必须先写JMen,再在这里面设定一个原创 2016-07-03 20:20:46 · 4310 阅读 · 2 评论 -
Java第四次实验(简易时钟)
首先吐槽一下数模,终于结束了,报警啊,第一天拉格朗日附体,设计从来没见过的各种模型,第二天化身当代陈景润,计算各种复杂模型(队友是天上地下挖数据...),第三天曹雪芹在世,满纸荒唐言,一把辛酸泪!总体来说虽然有点准备的不够充分,但是还是度过了很紧促的三天,感谢队友的陪伴,没想到还有附带技能(精通excel和ps,好吧虽然我是计算机专业的,但不会这个...),数模虽然有点儿戏了,相比较ACM总感原创 2016-05-05 23:40:02 · 4587 阅读 · 0 评论 -
python爬取当前汇率,jython的应用,实时汇率兑换
之前学习swing时写个一个简单的汇率转换器,之前又学习了python,于是想用python写个爬虫,把数据给java展示出来,媒介采用jython,将python解析的结果保存到txt文档中,java读取文档 ,如果不用jython就得手动先运行一遍python,就没意思了,等于只用运行java程序,每一次运行时通过jython自动调用java程序.python程序:(爬取数据,正则匹配,结原创 2016-05-25 16:52:19 · 4761 阅读 · 0 评论 -
njupt Java 实验1
做个汇率转换器,主要是熟悉swing组件,以前没用过swing,不过这玩意学起来快。有几个注意的地方:1,用户可能随便输入,所以要正则判断一下。 2,浮点数可能末尾几位有问题,所以最后要取3位输出。import java.awt.*;import java.awt.event.ActionEvent;imp原创 2016-04-29 09:57:22 · 561 阅读 · 0 评论 -
Java的学习笔记
习惯了用刷题的方式来掌握新语言~~如果已知英制长度的英尺foot和英寸inch的值,那么对应的米是(foot+inch/12)×0.3048。现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了1英尺等于12英寸。输入格式:输入在一行中给出1个正整数,单位是厘米。输出格式:在一行中输出这个厘米数对应英制长度的英尺和英寸的整数值,中间用空格分开。输入原创 2015-11-01 23:12:14 · 765 阅读 · 0 评论