
Java
象在舞
谁说大象不能跳舞!
展开
-
SpringBoot中的@ApiModelProperty注解
@ApiModelProperty()注解用于方法、字段,表示对model属性的说明或者数据操作更改,以下是它的源码: // IntelliJ API Decompiler stub source generated from a class file // Implementation of methods is not availablepackage io.s...原创 2020-03-13 12:05:57 · 65522 阅读 · 2 评论 -
微服务技术初探:基于IDEA使用Maven构建SpringCloud项目
本篇博客是微服务技术初探,既然是初探就少些套路吧,来个“单刀直入式”的开头:在使用Maven构建SpringCloud项目之前,首先先一起了解一下SpringCloud的常用的基本组件。一、基本组件1、Spring Cloud Eureka SpringCloud Netflix的Eureka组件实现了服务治理,提供服务注册与发现的功能,类似于Zookeepe...原创 2020-03-02 21:56:54 · 1895 阅读 · 4 评论 -
【Java】 Error:java: Compilation failed: internal java compiler error
【问题描述】在IDEA中运行程序,报了如下错误:Error:java: Compilation failed: internal java compiler error【错误原因】出现这个错误的原因是Java Project Java Modules与Java Compiler中的jdk版本不一致【解决方法】将下图中三处的jdk版本改为一致即可。...原创 2019-09-13 15:25:58 · 418 阅读 · 0 评论 -
【Java】 @Override is not allowed when implementing interface method
【问题描述】 IDEA开发中遇到了如下问题:@Override is not allowed when implementing interface method【解决办法】 File-->Project Structure-->Modules 点击Apply->OK即可。...原创 2019-09-13 10:57:40 · 519 阅读 · 0 评论 -
【java】 URL is not registered (Settings|Languages&Frameworks|Schemas and DTDs)
【问题叙述】 今天使用IDEA构建maven项目,在配置spring.xml的时候,出现了下面的问题:URL is not registered (Settings|Languages&Frameworks|Schemas and DTDs)【解决办法】 在File-->Settings-->Schemas and DTDs下,添加报...原创 2019-09-13 10:28:36 · 1291 阅读 · 0 评论 -
BeetlSql简介及举例
本文参考BeetlSql官方网站,官网网站请点击这里~ BeetSql是一个全功能DAO工具,同时具有Hibernate 优点 & Mybatis优点功能,适用于承认以SQL为中心,同时又需求工具能自动能生成大量常用的SQL的应用。 在开发效率上,无需注解,自动使用大量内置SQL,轻易完成增删改查功能。数据模型支持Pojo,也支持Map/Lis...原创 2019-09-11 20:17:24 · 8244 阅读 · 0 评论 -
【Java】 Methods references are not supported at language level '5'
【问题描述】 在IDEA中使用maven时出现了如下错误:Methods references are not supported at language level '5' 看到这个问题,我首先想到的可能是我的jdk没有配置成1.8,但是查询之后发现jdk已经配置成了1.8。【问题原因】 出现该错误的原因是因为在maven的配置文件...原创 2019-09-11 19:22:01 · 4092 阅读 · 2 评论 -
Java中的单例
单例有饿汉式、懒汉式之分,这里通过几个简单的例子简单的说明一下,以供后续需要时参考~1、饿汉式package com.oop.danli;/** * 单例:饿汉式 * @author xzw * */public class SingleTon { //1.构造器私有化 private SingleTon(){ //不能创建对象了 } //2.自己创...原创 2019-07-23 22:16:53 · 196 阅读 · 0 评论 -
Java中的Set、List、Map、Stack简单举例
许久不写Java代码,许多基础性的东西都已经忘却了,今天写了几个关于Set、List、Map、Stack的小例子发布于此,以供自己以后参考~1、首先定义几个实体类2、Map测试代码package com.xzw.test;import java.util.HashMap;import java.util.Map;import java.util.Map...原创 2019-07-22 21:42:13 · 417 阅读 · 0 评论 -
【java】 java.sql.SQLException: ORA-00911: 无效字符的问题
java在调用SQL语句进行数据库操作的时候报了如下的异常: java.sql.SQLException: ORA-00911: 无效字符的问题经检查,发现是因为引用的SQL语句中多了分号导致的,例如:String sql = "select * from xzw;";将字符串中的引号去掉再次测试,错误得以解决~...原创 2019-05-29 20:43:47 · 1319 阅读 · 0 评论 -
【Java】import org.junit.Test 和@Test报错
【问题描述】 Java项目中导入import org.junit.Test 和使用@Test时报错。【解决办法】 1、在MyEclipse或Eclipse项目中右击属性选择【build path】的【add Libararies】界面 ,选择JUnit导入。 2、java类名为Test.java,这样的话如果使用@Test只能在方法上加@org....原创 2018-10-11 20:58:23 · 10247 阅读 · 0 评论 -
【Java】Exception in thread "main" java.lang.UnsupportedClassVersionError
【问题描述】 在Linux上执行jar包出现了如下错误:【问题原因】 这个异常是因为较高版本的jdk编译的java class文件试图在较低版本的环境中运行造成的。例如:编译java文件的jdk环境是1.8而Linux下jdk的环境是1.7。【解决办法】更换jdk版本,使两个环境的jdk版本一致。...原创 2018-10-11 13:32:20 · 2412 阅读 · 0 评论 -
【Java】二维数组的创建及使用
本文主要介绍二维数组的创建及使用,代码如下:package com.xzw.csdn;/** * 二维数组 * @author xzw * */public class TwoDimArray { /** * 主函数 * @param args */ public static void main(String[] args) { //定义二维数组 in...原创 2018-08-21 08:47:04 · 9132 阅读 · 3 评论 -
Java案例:有序的将元素插入到数组中
示例:有一个数组{12,22,45,67,88,100},现在需要将80插入这个数组中,保证数组有序,计算插入位置的下标,并且打印插入80之后的数组,结果应该为:插入位置的下标为4,插入80之后的数组为[12,22,45,67,80,88,100]。【代码】package com.xzw.csdn;import java.util.Arrays;/** * 示例:...原创 2018-08-21 08:43:58 · 1910 阅读 · 0 评论 -
【Java】数组中常用的几种排序方法
本文主要介绍数组中常用的几种排序方法,代码如下:package com.xzw.csdn;import java.util.Arrays;/** * 数组常用的几种排序 * @author xzw * */public class PaiXu { /** * 主函数 * @param args */ public static void main(Stri...原创 2018-08-21 08:39:23 · 372 阅读 · 0 评论 -
【Java】Arrays类的使用方法
本文将会简单介绍Arrays类的使用方法,代码如下:package com.xzw.csdn;import java.util.Arrays;/** * Arrays类的应用 * @author xzw * */public class UseOfArrays { /** * 主函数 * @param args */ public static void ...原创 2018-08-20 22:01:44 · 947 阅读 · 0 评论 -
【Java】一维数组的定义及用法
本文主要介绍一维数组的定义及用法,代码如下:package com.xzw.csdn;/** * 数组的定义及用法 * @author xzw * */public class Array { /** * 主函数 * @param args */ public static void main(String[] args) { //数组定义 int[] ...原创 2018-08-20 21:58:30 · 6898 阅读 · 0 评论 -
【Java】break和continue的用法
本文主要介绍break和continue的用法,代码如下:package com.xzw.csdn;/** * break和continue的用法 * @author xzw * */public class BreakAndContinue { /** * 主函数 * @param args */ public static void main(String[...原创 2018-08-20 21:56:15 · 560 阅读 · 0 评论 -
【Java】运算符及常用语句容易忽视的地方
本文主要介绍运算符(逻辑或、逻辑与、三目运算符等)和常用语句(switch语句、for循环语句等)容易忽视的地方,代码如下:package com.xzw.csdn;/** * 运算符及语句 * @author xzw * */public class YunSuanFu { /** * 主函数 * @param args */ public static v...原创 2018-08-20 21:53:59 · 233 阅读 · 0 评论 -
【Java】三种方式交换两个变量的值
本文主要介绍如何用三种不同的方式交换两个变量的值,主要代码如下:package com.xzw.csdn;/** * 三种方法交换两个变量的值 * @author xzw * */public class JiaoHuan { /** * 主函数 * @param args */ public static void main(String[] args) {...原创 2018-08-20 21:49:41 · 687 阅读 · 0 评论 -
Java案例:合并编辑找出的问题句子
【题目描述】 为了提高文章质量,每一篇文章(假设全都是英文)都会有m名编辑进行审核,每个编辑独立工作,会把有问题的句子通过下标记录下来,比如[1,10],1表示病句的第一个字符,10表示病句的最后一个字符。也就是从1到10这10个字符组成的句子,是有问题的。 现在需要把多名编辑有问题的句子合并起来,送给总编辑进行审核,比如编辑A指出的病句是[1,10],[32,45...原创 2018-08-13 11:43:34 · 380 阅读 · 0 评论 -
【Java】 Java compiler level does not match
【问题】 从别的地方导入一个项目到MyEclipse中,经常会遇到Java compiler level does not match的错误,这是因为MyEclipse的jdk版本与项目的jdk版本不一致导致的。【解决办法】1、点击Window-->Preferences-->Java-->Compiler查看MyEclipse的jdk版本。2、点...原创 2018-08-10 09:08:59 · 459 阅读 · 0 评论 -
DL4J模型训练Word2Vec
目前深度学习已经越来越受到重视,深度学习的框架也是层出不穷,例如谷歌的TensorFlow,它是基于Python进行开发的,对于许多对Python不够了解的程序员来说用起来可能没有那么的方便,这里说一下一个基于Java的深度学习框架——DL4J。本博客主要介绍在代码层面基于DL4J模型实现训练Word2Vec,一起来看一下吧~【代码】package com.xzw.dl4j;im...原创 2018-04-30 19:46:24 · 2089 阅读 · 3 评论 -
用Java语言实现余弦定理和修正余弦
在NLP自然语言处理中,常常会有推荐相关的算法,这就免不了相关的距离计算公式计算两个向量之间的举例。这里用Java语言实现余弦定理和修正余弦,直接上代码~【余弦定理】package com.xzw.cos;import java.util.Map;import java.util.Map.Entry;/** * 相似度计算,余弦定理Java实现 * @author xz...原创 2018-04-17 19:49:58 · 1581 阅读 · 0 评论 -
本地缓存GuavaCache的介绍及使用
一、GuavaCache的介绍GuavaCache是一个本地缓存,有以下优点:1)很好的封装了get、put操作,能够集成数据源。一般我们在业务中操作缓存都会操作缓存和数据源两部分。例如:put数据时,先插入DB再删除原来的缓存,get数据时,先查缓存,命中则返回,没有命中时需要查询DB,再把查询结果放入缓存中。Guava封装了这么多步骤,只需要调用一次get/put方法即可。2)它是线程安全的缓...原创 2018-03-31 11:19:32 · 9052 阅读 · 0 评论 -
网络缓存Redis的介绍及使用
一、Redis介绍 Redis是一个开源的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。它支持多种类型的数据结构,例如:字符串、列表、集合等。Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。它支持数据的备份,即master-slave模式的数据备份。二、Redis使用Redis的使用分为Linux下的使用的Windows下的使用...原创 2018-03-31 11:11:15 · 346 阅读 · 0 评论 -
统计任意正整数二进制值中1的个数
描述:给定一个非负数num,计算所有0<=i<=num的数字的二进制值中1的个数以数组形式返回 例如:输入num=5,返回[0,1,1,2,1,2]一、代码package com.xzw.test;/** * 描述:给定一个非负数num,计算所有0<=i<=num的数字的二进制值中1的个数以数组形式返回 * 例如:输入num=5,返回[0,1...原创 2018-03-21 17:11:22 · 580 阅读 · 0 评论 -
任务拆分独立计算--ForkJoin
任务拆分独立计算笼统的来讲就是一个大任务被分成若干个小任务,并行计算之后再将结果合并的过程。主要有MapReduce、ForkJoin等。 MapReduce与ForkJoin的相似点:1.他们都是用于执行并行任务的;2.他们的基本思想都是把问题分解为一个个彼此独立的或可分解的子问题分别进行计算,再合并结果。 MapReduce与ForkJoin的不同点:1.Map...原创 2018-03-17 13:21:59 · 2131 阅读 · 0 评论 -
JDK自带的Timer实现任务调度
JDK自带的timer使用的时候会在主线程之外起一个单独的线程执行指定的计划任务,可以执行一次或反复执行多次。本篇文章主要从代码层面讲解如何用JDK自带的Timer实现一个简单的任务调度。直接上代码~一、测试代码package com.xzw.timer;import java.time.LocalDateTime;import java.time.format.DateTime...原创 2018-03-16 20:39:06 · 358 阅读 · 0 评论 -
Quartz实现任务调度
Quartz是java开源的一个定时任务的工具,它本身不仅可以实现固定时间的定时任务计算还可以实现类似Crontab的指定时间点间隔的定时任务计算。这篇文章以代码为主讲述了如何实现Quartz的任务调度。废话不多说,直接上代码~一、pom.xml文件的配置<!-- https://mvnrepository.com/artifact/org.quartz-scheduler/q...原创 2018-03-16 20:30:06 · 372 阅读 · 0 评论 -
基于zkdash下Zookeeper完成CRUD及监听
本文主要介绍在zkdash下实现zookeeper的CRUD及监听。一、环境准备(1)完全分布式环境,搭建过程可以参考我的另外一篇博客《Hadoop完全分布式的搭建》(2)安装Zookeeper,安装过程可以参考我的另外一篇博客《完全分布式下安装Zookeeper》(3)安装MySQL,安装过程可以参考我的另外一篇博客《Linux下安装MySQL》(4)安装zkdash,安装过程可以参...原创 2018-03-11 21:46:24 · 553 阅读 · 0 评论 -
使用Spring Boot快速开发模式开发简单的服务API
一、从start.spring.io下载相应的.zip文件。二、解压.zip文件并将相应内容导入到eclipse或myeclipse中,pom.xml文件如下。<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schema...原创 2018-03-08 17:43:54 · 2817 阅读 · 2 评论 -
Linux下使用thrift完成RPC服务
本文主要讲解如何使用thrift完成RPC服务,Windows下和Linux下均已实现,有相关的Java代码。废话不多说,直接开始~一、thrift的安装参考官方文档:thrift在CentOS下的安装安装到“Build and Install the Apache Thrift IDL Compiler”时,直接上传thrift的tar包,解压。此时先不要安装thrift。安装thr...原创 2018-03-07 11:10:05 · 2793 阅读 · 5 评论 -
java中的多线程
引如果对什么是线程、什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内。用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现。说这个话其实只有一半对,因为反应“多角色”的程序代码,最起码每个角色要给他一个线程吧,否则连实际场景都无法模拟,当然也没法说能用单线程来实现转载 2017-08-29 10:17:34 · 327 阅读 · 0 评论 -
java中的进程与线程解析
一、进程与线程的概念进程:系统要做一件事,运行一个任务,所有运行的任务通常就是一个程序;每个运行中的程序就是一个进程,这一点在任务管理器上面可以形象的看到。一个程序运行至少一个进程。线程:当一个程序运行时,内部可能会包含多个顺序执行流,每个顺序执行流就是一个线程。简言之,线程是进程的组成部分,一个进程至少包含一个线程,可以包含多个线程。二、进程的三大特性独立原创 2017-08-28 08:31:55 · 340 阅读 · 0 评论 -
揭开POJO的神秘面纱
众所周知,Struts2中的Action编写有三种方式,分别是:(1)POJO(Plain Old Java Object);(2)实现Action接口,重写execute()方法;(3)继承ActionSupport类。那么其中的POJO到底是什么呢?它与JavaBean又有什么关系呢?接下来,我们一起来揭开POJO的神秘面纱。 POJO实质上可以理解为简单的实体类,顾名思原创 2017-08-11 20:23:55 · 392 阅读 · 0 评论 -
浅析:领域模型、贫血模型和充血模型
一、领域模型 领域模型是领域内的概念类或现实世界中对象的可视化表示,又称为概念模型或分析对象模型,它专注于分析问题领域本身,发掘重要的业务领域概念,并建立业务领域概念之间的关系。 领域模型从业务角色内部的观点定义了业务用例。该模型为产生预期效果确定了业务人员以及他们处理和使用的对象(“业务类和对象”)之间应该具有的静态和动态关系。它注重业务中承担的角色及其当前职责。这些模型类的对象原创 2017-08-11 13:12:45 · 7895 阅读 · 2 评论 -
浅析:XSS攻击、SQL注入攻击和CSRF攻击
1、XSS(Cross Site Script)攻击 跨站脚本攻击,是在用户浏览网页时向用户浏览器中执行恶意脚本的攻击方式。 跨站脚本攻击分有两种形式:反射型攻击(诱使用户点击一个嵌入恶意脚本的链接以达到攻击的目标,目前有很多攻击者利用论坛、微博发布含有恶意脚本的URL就属于这种方式)和持久型攻击(将恶意脚本提交到被攻击网站的数据库中,用户浏览网页时,恶意脚本从数据库中被加载到页面原创 2017-08-11 08:13:29 · 1148 阅读 · 0 评论 -
程序员没有理由不知道的8大排序
排序有内部排序和外部排序,内部排序只使用内存,外部排序内存与外存结合使用。其中,内部排序又分为5大类,分别是:插入排序(直接插入排序、希尔排序),选择排序(简单选择排序、堆排序),交换排序(冒泡排序、快速排序),归并排序和基数排序(又叫分配排序)。归并排序是所需辅助空间最多的排序,堆排序是所需辅助空间最少的排序,快速排序是平均速度最快的排序。1.直接插入排序 基本思想:在排好序原创 2017-08-06 14:06:37 · 1147 阅读 · 2 评论