Java


  1. SpringBoot之定时任务

    任务需求 最近在用SpringBoot写一个关于定时项目的时候遇到一个问题,就是客户端访问服务器的结果实际上是每个一段时间发生一次变化,并且在服务器在每天的某个固定的时间点都要触发一次事件。 我们当然可以在遇到每一个请求时都重新计算结果,但是为了提高效率,我们显然可以让服务器每隔一段时间计算一次结果,并且把这个结果进行保存,对在下一个时间段内的每个请求都直接返回计算后的结果。这样就能较好的提高了服务器的性能。 那么问题就在于如何处理定时任务。其实SpringBoot早就提供了非常方便的接口,但…

    Java, SpringBoot, Cron阅读全文

  2. SpringBoot之拦截器用法

    拦截器 我们知道做Web开发最知名的一个编程思路叫AOP--面向切面的编程。第一次接触到这个名词以为是跟面向对象编程一样是套很复杂的流程。然而实际接触下来才发现,这其实是一个非常简单的思想,能够解决非常现实的问题,比如登录问题。 我们知道很多网站在访问时是需要登录的,也就是说服务器在处理每一个访问之前,必须都要做一件事情,就是登录用户的身份确认。我们很容易想到一个解决方法,就是定义一个类,专门处理这个登录问题。但是这也是比较麻烦的事情,在每一个请求处理前都要写一些一模一样的代码来调用这个类,…

    Java, SpringBoot阅读全文

  3. SpringBoot之简单部署

    命令行测试运行 有些时候我们需要将项目部署在服务器上进行简单测试,但是直接部署到Tomcat里又十分慢,这时候我们可以用maven工具的一个命令来模拟本地启动项目: ./mvnw spring-boot:run 这里用到了一个叫spring-boot-starter-parent的包,只要pom.xml里加了这个就能执行。 这样我们就可以在服务器的8080端口访问到这个临时的项目。 简单部署 通常情况下,我们会把SpringBoot生成的项目打包成war放在Tomcat服务器中运行…

    Java, SpringBoot阅读全文

  4. SpringBoot之Controller用法

    Controller Controller是SpringBoot里最基本的组件,他的作用是把用户提交来的请求通过对URL的匹配,分配给不同的接收器,再进行处理,然后向用户返回结果。他的重点就在于如何从HTTP请求中获得信息,提取参数,并分发给不同的处理服务。 基本组成 一个最经典的Controller应该大概长这样: package com.example.demo.controller; import org.springframework.stereotype.Controlle…

    Java, SpringBoot阅读全文

  5. SpringBoot环境熟悉

    前言 就个人而言,我曾经比较畏惧JAVA,我们都知道JAVA这个东西是相当成熟了,各种框架特别复杂,名词也特别的多。我还记得我第一次想学struts的时候折腾了半天硬是没有找到头绪,面对各种眼花缭乱的包、眼花缭乱的配置文件、眼花缭乱的框架版本、眼花缭乱的报错信息,还有眼花缭乱的各种名词,硬是停留在了servlet的层面上,完全失去了在短时间内学下去的动力。因此很久都没有碰过JAVA。不过一个机缘巧合,我突然发现其实这些东西都是很有套路的,每一个东西其实都是为了解决某一个小问题,只是刚入门的时候…

    Java, SpringBoot阅读全文

  6. 跨内外网远程操作Spark

    问题 我们知道通过反向ssh可以借助有固定IP的外网服务器登陆没有外网IP的内网主机,但是我们在真正使用的时候可能不仅仅需要远程登陆,可能还会需要内网机器中其他端口提供的服务。比如现在我需要在远处利用Spark程序去操作内网机器里的分布式系统进行工作,这就至少需要调用内网机器的7077端口(默认的Spark调用端口)和9000端口(默认的hdfs端口)。那么这时候我们应当怎么处理呢? 解决思路 最容易想到的解决方案就是同样利用反向ssh,将内网的9000端口映射到服务器的9000端口上。…

    Java, Linux, Spark, Rinetd, SSH阅读全文

  7. Eclipse下Spark+ScalaIDE开发环境部署

    刚开始学Spark,之前一直都是在服务器里用Spark-shell进行简单学习的,后来觉得这样实在是很不方便,于是就决定利用Eclipse ide来进行开发,不过这当中遇到了很多问题,搞了半天总算搞得差不多了,下面就记录下环境搭建的步骤方便重新配置。 当前环境 在配置eclipse的开发环境前,我已经在服务器中配置好了hadoop+scala+spark的环境: * hadoop 2.7.2 * spark 1.6.2 * scala 2.10.4 * jdk1.7 * Lin…

    Java, Linux, Spark阅读全文

  8. Huffman无损压缩和解压算法实现

    高中学信息论的课后作业,本来自己的项目文档和中期汇报还没写,为了强行装x答应了下来,结果硬是熬夜到四点才敲完。。。。(以后绝不装逼了) 虽然算法看上去不难,但是不得不说还是走了很多弯路,学到了很多东西,在这里做个记录。 需求 用Huffman 编码实现文件的无损压缩和解压。 算法 算法当然用到了霍夫曼编码,构造霍夫曼树。具体过程也很简单,就是把读入的字节流按照字节进行频数分析,对频率高的字符用短编码,对频率低的用长编码。然后将编码的映射表和编码后的结果写入文件,这时候生成的文件就是…

    Algorithm, Java阅读全文

  9. Servlet3.0实现上传文件的获取

    据说在以前的Servlet版本中,如果想要处理form中post过来的文件数据的话,那么还必须下载第三方的包,比如commons-fileupload等,很是麻烦。但是现在的Servlet版本中已经可以支持对file数据的直接处理,这里姑且记录下简单的用法。 Html端 前端中只要写一个正常提交的表单即可,比如下面这样: <form action="Display" method="post" enctype="multipart/…

    Java阅读全文

  10. 基于Swing的简单文本编辑器

    Java小作业,任务是写一个有改字体颜色大小的文本编辑器。其实相比windows自带的记事本功能还要弱,不过还是拿来练练手了。这里主要也就实现了简单的文件读写和字体等更改操作,还是非常简易的。 实现代码 import java.awt.Color; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.Input…

    Java阅读全文