- 博客(42)
- 资源 (6)
- 收藏
- 关注
原创 Java中的定时器
定时器总结1. 几种定时任务实现目前JDK中最常用的定时任务有以下几种:1、Timer:最早推出的一种定时器,但目前该定时器已不推荐使用,详见后续描述;2、ScheduledExecutorService.scheduleAtFixedRate:按照某种固定频率进行执行;3、ScheduledExecutorService.scheduleWithFixedDelay:按照某种固定延时进行执行;2. 各自优缺点及使用场景2.1 Timer目前各种Java代码规范中都不再建议使用该定时器,
2020-11-03 17:01:38 795
原创 获取Jar包中的文件
获取Jar包中的资源文件写在前面实在是觉得受不了网上的一些文章了,感觉还是自己写来的靠谱一点。就是想从Jar包中获取资源文件的内容,就是这么一个简单的需求,搞得查了半天也没查出来具体怎么操作,都是从ClassLoader开始嘚啵嘚的讲。我***(容我报个粗口),jar包不就是一个zip包吗?我按照zip包的方式读取出来不就行了吗?我是获取里面的资源文件,不是加载里面的class文件~直接...
2019-06-05 10:11:56 1467 3
原创 通过代码实现java反编译
通过代码实现java反编译Java代码反编译直接上地址说明Java代码反编译相信很多童鞋肯定是遇到过反编译Java代码的情况,我猜想你大部分情况下用的是JD-JUI或者说是Idea、Eclipse的一些插件,但是是否曾经想过如何用代码实现呢?本文章不是讲字节码里面格式的,这样的文章网上一大片,随便搜索就能搜索出很多来~直接上地址可参考GitHub地址:https://github.com...
2019-06-03 18:35:33 2163
原创 记一次内存溢出的问题处理过程
记一次内存溢出的问题处理过程概述OOM是每个Java程序员都可能遇到的问题,但很多问题可能其本身并没有考虑好,或者是采用了一种类似于简单增大内存的处理机制,这种可能部分上能解决问题,但要是具体要原因,那可能大部分程序员都不会很清楚。本篇文章以自己的实际工作为切入点,从一次内存溢出的处理过程来简要说明下如何处理。需求系统非常复杂,由于工作原因不好说明具体是什么,将其处理过程简单抽象一下,大...
2019-01-03 10:12:13 865
原创 CentOS安装及配置Mysql
CentOS使用yum来安装Mysql请参考:https://www.cnblogs.com/hengwei/p/7044619.html因为默认的yum带的mysql不是我们需求的mysql,所以就有了上面的文章。配置Mysql的可访问Mysql安装成功后,可通过下面命令启动:systemctl start mysqld.service也可以通过下面命令关闭:systemctl ...
2018-10-29 16:49:37 158
原创 使用maven-assembly-plugin打包多模块项目
使用maven-assembly-plugin打包多模块项目概述1. 需求2. 打包流程2.1 新建打包模块2.2 配置打包模块2.3 配置打包模块的pom.xml2.4 配置其他模块打包方式2.5 配置assemble.xml文件概述maven-assembly-plugin 是目前maven项目中最常用的打包工具,它便利、配置简单,因此可以满足我们大部分的需求。实际开发过程中大部分Mav...
2018-10-27 11:29:53 18780 2
原创 SpringBoot启动Banner设置及源码分析
本文为原创,转载请标明出处!我们都知道SpringBoot在启动时会打印一个Banner,就是一个SpringBoot的标志,如下: . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ _...
2018-10-10 10:00:38 462
原创 Jedis详解
因为工作的需要,底层同事对Redis进行了部分改造,增加了几个命令,对应着也就需要对Jedis进行部分修改,于是就把Jedis相关的代码读了一遍,发现其设计还是非常简单但又巧妙使用。通常而言,我们对于Redis集群的操作通常来讲不会真正对应多个节点,而是由底层单独分片处理,换句话说我们应用程序对应的节点是一个,因此我们目前主要用的是JedisPool的方式,而很少会采用JedisCluster...
2018-09-29 22:22:32 6979 1
原创 Redis-博文功能实现
Redis-博文功能实现以编写一个博客功能为例,实现最基本的一个博客的增删改查功能。 定义类: Article[id,title,slug,content,Set<标签>,List<评论>,pviews,author,time] = [ID,标题,缩略名,内容,标签(集合,无重复元素),评论(列表),访问次数,操作员,操作时间]生成一个文章的ID 设置一个自增的序列INCR arti
2015-07-08 11:58:08 572
原创 IPV6专题(三)
本节主要说明下IPV4到IPV6的转换:IPV4到IPV6网址的转换很简单,只需将IPV4地址转为十六进制格式,以两段为一组,然后再前面添加::ffff即可JS代码如下:function four2six(fouraddr,fourmask)//IPV4转IPV6,包括地址和掩码 { var reg = fouraddr.match(/^(\d{1,2}|1\d\d|2[0-
2012-12-04 09:21:43 1007
原创 IPV6专题(二)
在(一)中已经将IPV6的简要知识说明了一下,下面来处理下IPV6网址。IPV6的网址写法上需要兼容零压缩法,因此需要对IPV6的网址进行转换,下面是JS的转换代码:function transitIp(ipaddr)//将IPV6地址补全 { var ipaddress = ipaddr.split("/"); var ipaddrs = ipaddress[0].split(
2012-12-04 09:12:34 1851
原创 IPV6专题(一)
项目中遇到了关于IPV6的一些问题,特意做一个专辑说明一下,希望能够帮助有需要的同学!1、什么是IPV6? 这个问题可以去百度或Google找一下,应该会有很大的收获,其实主要就是为了解决IPV4地址不够用的问题,V4地址是32位,即:192.168.1.1,而V6地址则是128位,比V4扩大了太多倍。2、IPV6有子网掩码吗? 可以说有,也可以说没有,说有呢,是因为在
2012-11-29 09:23:01 3775
原创 接上(SQL中遇到多条相同内容只取一条的最简单实现)多字段情况
上面的例子中是只有一个字段不相同,假如有两个字段出现相同呢?要求查处第三个字段的最大值该如何做呢?其实很简单,在原先的基础上稍微做下修改即可:原先的SQL语句:select * from timeand as a where not exists(select 1 from timeand where a.time = time and a.total可修改为:sele
2012-11-07 17:20:35 2882
原创 SQL中遇到多条相同内容只取一条的最简单实现
SQL中经常遇到如下情况,在一张表中有两条记录基本完全一样,某个或某几个字段有些许差别,这时候可能需要我们踢出这些有差别的数据,即两条或多条记录中只保留一项。如下:表timeand针对time字段相同时有不同total和name的情形,每当遇到相同的则只取其中一条数据,最简单的实现方法有两种1、select time,max(total) as total,name fro
2012-11-07 09:22:27 20553 4
原创 JavaScript中两个字符串的匹配
工作中遇到一个问题,两个字符串匹配,要求:每个字符串中最多含有一个*,?可以无限多个*代表一个任意长度的字符串,而?则代表一个字符要求可以提示出两个冲突用Javascript实现代码如下:function checkMarchX() { var str1 = document.getElementById('str1').value; var str2 =
2012-10-26 16:26:37 2055
原创 SQL计算中位数
表还是total_sales添加一项表:SQL语句:SELECT * from(SELECT a1.Name, a1.Sales, COUNT(a2.sales) Sales_RankFROM Total_Sales a1, Total_Sales a2WHERE a1.Sales GROUP BY a1.Name, a1.SalesORDER BY a
2012-10-23 11:03:53 26654 1
原创 SQL中算排名
在实际开发中经常会遇到计算某个字段的排名的情况如下表:totak_sales现在又如此要求:按sales的逆序排序,要求添加一个sales_rank字段,显示排名顺序方法:SELECT a1.Name, a1.Sales, COUNT(a2.sales) Sales_RankFROM Total_Sales a1, Total_Sales a2WHERE a1.Sa
2012-10-23 10:45:54 4110 4
原创 SQL语句之Union和Union All
SQL中Union和Join语句非常类似,但是Union有一个限制条件:两个 SQL 语句所产生的栏位需要是同样的资料种类,最后的结果会看到不同的资料值。格式:[SQL 语句 1]UNION[SQL 语句 2]例如:表store_info和表internet_sales使用Union语句:SELECT Date FROM Store_Info
2012-10-22 17:46:52 926
原创 SQL中查找某几项完全一样的数据
有以下一个表movestar(id,name,title,address),内容为:现在要查找所有具有相同的title和address的人 select star1.name,star2.name,star1.title,star1.address from movestar as star1,movestar as star2 where star1.title = star
2012-10-19 17:01:06 1278
原创 Javascript之正则表达式基础
RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具。1、RegExp 对象的创建直接量语法:/pattern/attributes创建 RegExp 对象的语法:new RegExp(pattern, attributes);注:参数 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式。参数 attributes 是一个可选的字符
2012-10-19 15:44:14 916
原创 Javascript之String对象
String 对象用于处理文本(字符串)。1、创建Stringvar str = "Hello World";var str1 = new String(str);var str = String("Hello World");此三种方法都可以,但是略有区别2、length属性--->返回字符串的长度3、anchor() 方法用于创建 HTML 锚。HTML锚是什么
2012-10-19 15:26:40 2611
原创 Javascript之Number对象
Number对象即数字,它的构造方法:var num = 10;var num = new Number();//num == 0var num = new Number(value);其中value为数值或是可以转换为数值的量,如字符串'1002'但是假如为'M122',则返回NaN1、常量,属性MAX_VALUE 可表示的最大的数。 // 1.79769
2012-10-19 14:21:48 584
原创 Javascript之Math对象
Math对象不同于上述的对象,它可以说是一个公共数学类,里面有很多数学方法,用于各种数学运算但是Math对象不需要构造,对于其中的方法直接使用即可1、常量(即属性)E 返回算术常量 e,即自然对数的底数(约等于2.718)LN2 返回 2 的自然对数(约等于0.693)LN10 返回 10 的自然对数(约等于2.302)LOG2E 返回以 2
2012-10-19 13:52:59 994
原创 Javascript之Date对象
Date对象即日期时间对象,它的主要功能是实现对日期时间的处理1、创建Date对象var myDate = new Date();或var myDate = new Date("July 21, 1983 01:15:00");//此种方法为自定义日期时间的方式,格式若不对的话为提示Invalid DateDate对象的constructor属性为:Datedocument
2012-10-19 12:09:21 2678
原创 javascript之Boolean对象
Boolean对象非常简单,却非常有用,但也列为一章Boolean对象和Java中的Boolean封装类很像,它有两个值:true和false1、创建Boolean对象var boo = new Boolean();//此时未对boo进行赋值,但是它的默认值为falsevar boo = new Boolean(true);var boo = true/false;2、Bo
2012-10-19 10:05:54 759
原创 javascript之Array 对象(数组对象)
1、创建Array对象方法:--->var arr = [1,2,3];//简单的定义方法此时可以知道arr[0] == 1;arr[1] == 2;arr[2] == 3;--->new Array();var arr = new Array();//定义一个没有任何内容的数组对象,然后以下面的方式为其赋值arr[0] = "arr0";arr[1] = "a
2012-10-19 09:53:15 3980
原创 Javascript基础
1、var msg;//声明一个变量,在没有给此变量赋值以前,该变量名为:undefined2、msg = "hello";//不适用var则可以声明一个全局变量,但是此变量因为是全局的,所以容易引起其他调用的一些问题,故不推荐3、javaScript有5种基本数据类型,Undefined、Null、Boolean、Number和String;以及一种复杂数据类型:Object4、va
2012-10-19 09:51:42 769
原创 javascript 兼容性及处理方法(转)
一、函数和方法差异1. getYear()方法【分析说明】先看一下以下代码:var year= new Date().getYear();document.write(year); 在IE中得到的日期是"2010",在Firefox中看到的日期是"110",主要是因为在 Firefox 里面 getYear 返回的是 "当前年份-1900" 的值。【兼容处理】
2012-08-24 14:35:22 733
原创 SQL语句实现表中字段的组合累加排序
有表如下:idinoutindex1101222982312831993112032518222002这三个字段均为integer类型现要求如下:1、按index=2查找
2012-08-02 13:23:52 2498
原创 Struts2实现动态验证码的生成和验证
一、基本流程:产生一个验证码页面(很小)→嵌入到表单中→点击可以刷新页面→表单提交时验证。二、方法:1、定义TestAction,实现画图方法package com.zhuguang.action;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.imag
2012-07-30 14:15:56 8484 3
原创 Struts2慢慢学之九----Result其他内容
Result可以设定全局结果集,如: /main.jsp /index.jsp /user_success.jsp /user_error.jsp
2012-05-06 10:12:56 961
原创 Struts2慢慢学之八----Result
Result也是Struts2比较重要的一部分,在Result的配置中常用的有四种类型:dispatcher、redirect、chain和redirectAction,在这四种中又以前两种最为常见。例: /r1.jsp /r2.jsp r1
2012-05-06 10:05:45 1112
原创 Struts2慢慢学之七----访问Web元素
常用的Web元素有:request、session、application等,而我们一般使用session较多,Struts2如何访问web元素呢?这个是非常重要的内容,因为它能完成程序后台和用户的数据交互,下面以注册为例演示其过程:1、index.jsp文件<%@ page language="java" contentType="text/html; charset=UTF-8"
2012-05-05 16:32:39 1124
原创 Struts2慢慢学之六----简单的数据校验
数据校验是在项目开发中不可缺少的一部分,用户登录时、密码验证时都需要,当然要做的首先是获得用户输入的内容,然后对内容进行验证,一般都是从数据库中读出然后校验,如果错误则显示提示信息,正确则进入用户主界面。下面用一个简单小例子来说明下步骤:1、index的表单<%@ page language="java" contentType="text/html; charset=UTF-8"
2012-05-05 09:32:49 1529
原创 Struts2慢慢学之五(接上)----参数传递方法三
上篇说明了下Struts2参数传递的两种方法,其中第二种方法被称为:DomainModel,域模型。即新建一个类,用于存放属性。下面说明另外一种方法,被称为:ModelDriven,模型驱动。它与第二种方法非常类似,其他都是一样的,仅仅就是Action和访问有区别,它的Action如下:package com.bjsxt.struts2.user.action;import c
2012-05-04 16:32:22 2387
原创 Struts2慢慢学之五----参数传递
参数传递即将参数传输到程序后台中,后台可能做一些处理,然后再将内容存入数据库之类嗒!参数传递的方法较多,一一说明如下。1、Action中直接参数法有如下的index.jsp文件<%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%><%
2012-05-04 16:08:52 12148 4
原创 Struts2慢慢学之四----通配符
通配符是在struts2配置中非常常用的一种配置方式,在程序开发过程中要遵循“约定优于配置”的原则,在这种原则下,约定的结果如果比较合适的话,就会大大减少配置的数量,使得配置变得非常简单,方便。下面以例子来做下说明:1、由如此的一个struts.xml配置文件:<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//
2012-05-04 15:25:20 1050
原创 Struts2慢慢学之三------DMI
什么是DMI?DMI即所谓的动态方法调用。Action在执行的时候并不一定要执行execute方法,可以在配置文件中配置Action的时候用method=来指定执行哪个方法,也可以在url地址中动态指定(动态方法调用DMI)。第一种方式,在struts.xml中对Action添加method: /user_add_s
2012-05-04 14:54:44 3694
原创 Struts2慢慢学之二-----路径问题解决
在struts2中的路径问题是根据Action的路径而不是JSP的路径确定的,所以尽量不要使用相对路径,使用相对路径会让路径问题变得很繁琐很麻烦,有的时候一个细微的变动会导致你需要大的改动。 解决方法其实也很简单:即统一使用绝对路径。 在jsp中可以通过request.getContextRoot的方式获得webapp的绝对路径:<%String p
2012-05-04 09:17:03 936
原创 Struts2慢慢学之一
什么是Structs2?它就是在Struts1的基础上演化而来的,是一种MVC模式的框架,其实它的功能很简单,就是将View和逻辑处理层分开。本人才疏学浅,以前都是用Spring做项目,由于要毕业,所以需要进行转行(暂且这么说吧),公司都是用的Structs框架,木有办法,从头开始学吧! 所需软件-Eclipse、TomCat7.0、Struts-2.3.1.2(源码自己下载),下
2012-05-03 20:57:27 946
Java API 1.6 中文帮助文档
2012-03-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人