
有趣的基础技能
诚信赢天下
这个作者很懒,什么都没留下…
展开
-
通过java实体类逆向生成sql
System.out.println("生成成功!// 表表名adminUser → tb_admin_user。* 例如:java.lang.Integer 对应 integer。// 遍历实体类下面等所有.java文件 获取其类名。* 获取包下面等所有实体类名称,类似于获取 XXX.java。//文件不存在则创建文件,先创建目录。log.info("包路径未找到!//文件输出流用于将数据写入文件。//文件路径(路径+文件名)* @param path sql文件路径路径。...原创 2022-08-08 10:49:07 · 3151 阅读 · 1 评论 -
通过java类的反射机制获取属性名
public static void main(String[] args) { try { Class clazz = Class.forName("net.chinaedu.bigc.center.domain.teacher.req.TeacherInfoReq");//根据类名获得其对应的Class对象 写上你想要的类名就是了 注意是全名 如果有包的话要加上 比如java.Lang.String Field[] fields = clazz.getDecla.原创 2021-05-28 10:29:54 · 427 阅读 · 0 评论 -
java网页爬图片
import org.jsoup.Connection;import org.jsoup.Jsoup;import org.jsoup.nodes.Document;import org.jsoup.nodes.Element;import org.jsoup.select.Elements;import java.io.*;import java.net.MalformedURLException;import java.net.URL;import java.net.URLConne.转载 2020-08-12 10:33:47 · 255 阅读 · 0 评论 -
简单实现jdk自带spi机制
SPI 全称为 (Service Provider Interface) ,是JDK内置的一种服务提供发现机制。 目前有不少框架用它来做服务的扩展发现,简单来说,它就是一种动态替换发现的机制。使用SPI机制的优势是实现解耦,使得第三方服务模块的装配控制逻辑与调用者的业务代码分离。项目架构设计分为三个模块 server-api 、server-core、server-mainserver-api--对外暴露的接口server-core--暴露接口的具体实现server-main--demo原创 2020-05-14 10:23:21 · 401 阅读 · 0 评论 -
实用工具类函数(持续更新)
/** * 首字母小写方法 */private static String lowerFirst(String str) { char[] chars = str.toCharArray(); if('A' <= chars[0] && chars[0] <= 'Z') { chars[0] += 32; } ret...原创 2020-03-07 10:47:59 · 156 阅读 · 0 评论 -
谷歌浏览器实现视频播放加速功能
chrome浏览器控制台创建js脚本并执行Chrome的snippets是小脚本,还可以创作并在Chrome DevTools的来源面板中执行。您可以访问和从任何页面运行它们。当你运行一个片段,它从当前打开的页面的上下文中执行。本文主要讲如何使用,并完成一个页面自动刷新的功能。第一步首先f12 打开开发者工具,再打开Sources面板中,单击上Snippets选项卡,在导航器中单击鼠标右键,...原创 2020-02-25 08:43:55 · 37137 阅读 · 2 评论 -
复习项目中Linux常用指令,每天进步一点点(持续更新。。)
1.grep -v grep 去除grep自身占用的进程号,在脚本中常用到,目的就是为了返回想要的唯一进程号案例脚本:#!/bin/bash#Desc 停止jenkins# 1. 初始化端口号,默认为6380if [ "x" != "x$1" ] ;then port=$1else port=6380fi# 2. 获取jenkins 运...原创 2020-04-18 13:26:50 · 187 阅读 · 1 评论 -
JDK自带动态代理代码逻辑实现
实现一个计算器工具,定义IMathCalcultor接口,只开发求和,求差两个功能接口。需求:在每次使用方法前后 都要输出日志内容。这里利用JDK动态代理方式之一 -- 通过实现invocationHandle接口来实现这个需求,闲话不多说直接上代码。package com.travelsky.falcon.controller.testPackage;import java.lan...原创 2020-01-08 10:02:20 · 212 阅读 · 0 评论 -
统计项目代码行数
package com.travelsky.falcon.controller.testPackage.countCode;import java.io.BufferedReader;import java.io.File;import java.io.FileReader;/*** 统计指定目录下java文件的行数* @author wdm* @date*/pu...原创 2020-01-03 16:16:23 · 870 阅读 · 0 评论 -
list转换map(根据key来拆分list,相同key的value为一个list)
/** * @description 按照key拆分list * @data ${DATA} * @auther */public class MyListTOMap { public static void main(String[] args) { UserTest user1 = new UserTest(10,"xiaoming"); ...原创 2019-09-25 20:26:06 · 3933 阅读 · 2 评论 -
Corn 表达式
CronTriggerCronTriggers往往比SimpleTrigger更有用,如果您需要基于日历的概念,而非SimpleTrigger完全指定的时间间隔,复发的发射工作的时间表。CronTrigger,你可以指定触发的时间表如“每星期五中午”,或“每个工作日9:30时”,甚至“每5分钟一班9:00和10:00逢星期一上午,星期三星期五“。即便如此,SimpleTrigg转载 2017-08-02 15:31:48 · 452 阅读 · 0 评论 -
Spring框架中的Quartz使用(详解)
Spring框架中的Quartz使用:首先简单介绍下Quartz,它是一个完全由Java编写的开源作业调度框架,为在Java应用程序中进行作业调度提供了简单却强大的机制,相当于java.util.Timer,但是比Timer多了很多的功能:1.持久性作业,就是保持调度定时的状态;2.作业管理,对调度作业进行有效的管理;3.类Corn的定时支持,可以用Corn的方式来执行作业;4转载 2017-08-01 20:00:17 · 8866 阅读 · 0 评论 -
JAVA栈与堆的区别
在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。 当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。 堆内存用来存放由new创建的对象和数组。 在堆中分配的内存,由Java虚拟机的转载 2017-07-10 11:09:41 · 259 阅读 · 0 评论 -
线程池的使用(创建的4种线程池)
Java通过Executors提供四种线程池,分别为:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。newScheduledThreadPool 创建一个定长线程池,支持定时及周期性任务执行。转载 2017-07-21 16:28:08 · 387 阅读 · 0 评论 -
tar命令详解
tar-c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。-z:有gzip属性的-j:有bz2属性的-Z:有compress属性的-v:显示所有过程-O:将文件解开到转载 2017-07-21 15:46:08 · 474 阅读 · 0 评论 -
JAVA强制转换学习
object对象转换为String的一些总结--------------------------------------------------------------------------------在Java项目的实际开发和应用中,常常需要用到将对象转为String这一基本功能。本文将对常用的转换方法进行一个总结。常用的方法有Object.toString(),(Stri转载 2017-07-21 15:04:45 · 242 阅读 · 0 评论 -
java 定时任务
quartz CronExpression表达式一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。按顺序依次为1.秒(0~59)2.分钟(0~59)3.小时(0~23)4.天(月)(0~31,但是你需要考虑你月的天数)5.月(0~11)6.天(星期)(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)7.年份(1970-2转载 2017-03-29 18:13:38 · 428 阅读 · 0 评论 -
xml与java对象互转
摘要:将XML文档与JAVA对象互转是很常见的需求,如果XML定义很规整这很好实现。然而在现实中“不规矩”的XML可能更常见,Marshaller便无能为力了吗?下面是一个小技巧,调整一下思维便能重用Marshaller了,征服它们使工作更简单。关键词:Marshaller, JAVA, XML 将一个类生成一个Json字符串、将一个Json字符串翻译成一个转载 2017-04-10 20:26:41 · 567 阅读 · 0 评论 -
spring整合quartz框架定时任务实战
Spring整合定时任务调度框架Quartz实战2014-09-12 11:51 9707人阅读 评论(6) 收藏 举报 分类:【综合问题】(74) 版权声明:本文为博主原创文章,未经博主允许不得转载。定时的任务处理在程序开发中应用的相当普遍,之前一直使用JDK的Timer类库来做任务调度功能不是很方便,因为它不能像cron服务那样可转载 2017-04-12 19:55:33 · 699 阅读 · 0 评论 -
Spring整合定时任务调度框架Quartz实
Spring整合定时任务调度框架Quartz实战定时的任务处理在程序开发中应用的相当普遍,之前一直使用JDK的Timer类库来做任务调度功能不是很方便,因为它不能像cron服务那样可以指定具体年、月、日、时和分的时间,我们只能将时间通过换算成微秒后传给它,而在quartz中我们只需要设置cronExpression就可以完成定时的周期性的方法调用。Quartz中最核心的是任转载 2017-04-12 19:56:15 · 479 阅读 · 0 评论 -
Jenkins+Maven+SVN快速搭建持续集成环境
Jenkins是一个可扩展的持续集成引擎,Jenkins非常易于安装和配置,简单易用,下面看看我们是如何几分钟就快速搭建一个持续集成环境吧。假设我们目前已经有2个maven项目:entities(JAVA类库),web(Web应用,依赖entities)。一、安装Jenkins地址http://mirrors.jenkins-ci.org/下载适合的Jenkins版本。...原创 2020-04-18 13:27:14 · 301 阅读 · 1 评论 -
Maven 构建与依赖的生命周期
Maven 构建与依赖的生命周期scope:依赖的生命周期—用来控制项目编译时需要使用哪套classpath,比如测试时会将junit.jar加入编译环境,但是发布产品时又不会将junit.jar加入到编译环境•compile:编译依赖范围。如果没有指定,就会默认使用该依赖范围。使用此依赖范围的Maven依赖,对于编译、测试、运行三种classpath都有效。典型的例子就是sp转载 2017-04-18 21:42:45 · 333 阅读 · 0 评论 -
nexus搭建maven私服
前言: 公司一般都有个自己的私服来管理各种jar包,原因大概有这么3个,分别是: 1、有的公司不能访问外网,只能通过私服来管理jar包和插件; 2、公司网速比较慢,通过公司的私服来获取jar包比较快; 3、内部的的一些jar包放在私服上,比较方便的大家使用。 这里简单介绍下搭建Nexus环境,并且在eclipse mvn插件环境下来转载 2017-04-06 09:58:57 · 248 阅读 · 0 评论 -
jenkins安装部署过程简记
Skip to end of metadataGo to start of metadatalinux环境搭建jenkins过程1、下载jenkins包、jdk、maven包、tomcat包或jboss2、解压安装jdk,设置环境变量3、解压安装maven包,设置maven-home环境变量4、解压安装tomcat环境,tomca原创 2017-04-20 15:22:55 · 621 阅读 · 0 评论 -
搭建线程池需要考虑的因素
知道吗,你的Java web应用其实是使用线程池来处理请求的。这一实现细节被许多人忽略,但是你迟早都需要理解线程池如何使用,以及如何正确地根据应用调整线程池配置。这篇文章的目的是为了解释线程模型——什么是线程池、以及怎样正确地配置线程池。单线程模型让我们从一些基础的线程模型开始,然后再随着线程模型的演变进行更深一步的学习。你使用的任何应用服务器或框架,如To转载 2017-05-23 21:15:09 · 1654 阅读 · 0 评论 -
restful架构的理解
越来越多的人开始意识到,网站即软件,而且是一种新型的软件。这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点。网站开发,完全可以采用软件开发的模式。但是传统上,软件和网络是两个不同的领域,很少有交集;软件开发主要针对单机环境,网络则主要研究系统之间的通信。互联网的兴起,使得这两个领域开始融合,现在我们必转载 2017-05-24 16:26:50 · 326 阅读 · 0 评论 -
jvm轻度理解
在阅读本文之前,先向大家强烈推荐一下周志明的《深入理解Java虚拟机》这本书。前些天面试了阿里的实习生,问到关于Dalvik虚拟机能不能执行class文件,我当时的回答是不能,但是它执行的是class转换的dex文件。当面试官继续问,为什么不能执行class文件时,我却只能回答Dalvik虚拟机内部的优化原因,却不能正确回答具体的原因。其实周志明的这本书就有回答:Dakvik并不是一个Ja转载 2017-05-24 17:12:18 · 396 阅读 · 1 评论 -
Groovy入门教程
Groovy入门教程一、groovy是什么简单地说,Groovy 是下一代的Java语言,跟java一样,它也运行在 JVM 中。作为跑在JVM中的另一种语言,groovy语法与 Java 语言的语法很相似。同时,Groovy 抛弃了java烦琐的文法。同样的语句,使用groovy能在最大限度上减少你的击键次数——这确实是“懒惰程序员们”的福音。 二、开发环境1、转载 2017-05-31 17:10:51 · 412 阅读 · 0 评论 -
单点登录
单点登录原理与简单实现一、单系统登录机制1、http无状态协议 web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过程用下图说明,三次请求/响应对之间没有任何联系 但这也同时意味着,任何用户都能通过浏览器访问服务器资源,如果想保护服务器的转载 2017-07-11 10:22:12 · 703 阅读 · 0 评论 -
Quartz的原理
一、核心概念 Quartz的原理不是很复杂,只要搞明白几个概念,然后知道如何去启动和关闭一个调度程序即可。1、Job表示一个工作,要执行的具体内容。此接口中只有一个方法void execute(JobExecutionContext context)2、JobDetailJobDetail表示一个具体的可执行的调度程序,Job是这个可执行程调度程序所要执行的内容转载 2017-03-02 14:42:57 · 259 阅读 · 0 评论