Java
小龙在山东
本博客为个人整理的技术笔记,仅用于学习。
展开
-
Java获取时间戳、字符串和Date对象的相互转换、日期时间格式化、获取年月日
这里用Calendar来获取年月日。成Date对象,用到了。构造方法是日期格式。原创 2023-11-09 22:58:26 · 310 阅读 · 0 评论 -
Java用fastjson转换JSON对象和字符串
Fastjson是阿里巴巴的一个开源项目,它是一个高性能的Java语言实现的JSON库。下面是如何使用Fastjson将Java对象转换为JSON对象的示例。原创 2023-11-09 22:20:34 · 607 阅读 · 0 评论 -
Java和Python3实现AES/CBC/PKCS5padding加密解密
Java和Python3实现AES/CBC/PKCS5padding加密解密。原创 2022-09-09 20:45:00 · 1626 阅读 · 0 评论 -
Java用JJWT实现JWT
JWT编码分为三部分,前两部分是base64编码,第三段是加密字符串。原创 2022-08-10 20:00:00 · 832 阅读 · 0 评论 -
Java获取当前日期和一个月前日期
Java8 LocalDateTimeDateUtils引入MVN库:原创 2022-06-30 23:45:00 · 6283 阅读 · 0 评论 -
httpclient请求和gson解析JSON
引入包org.apache.httpcomponents:httpclient:4.5.13com.google.code.gson:gson:2.9.0JSON类型import java.util.List;public class ResultBean { public String status; public String state; public List<Value> data; public static class Value {原创 2022-05-17 09:34:41 · 329 阅读 · 0 评论 -
引用数据类型和基本数据类型区别
Java 中的数据类型分为基本数据类型和引用数据类型。引用数据类型和基本数据类型的相同点:都可以用来创建变量,可以赋值和使用其值本身都是一个地址引用数据类型和基本数据类型的不同点:基本类型变量的值,就是地址对应的值。引用数据类型的值还是一个地址,需要通过“二级跳”找到实例引用数据类型是Java的一种内部类型,是对所有自定义类型和数组引用的统称,并非特指某种类型...原创 2022-04-08 22:33:53 · 1349 阅读 · 0 评论 -
ES源码运行报错: ERROR: the system property [es.path.conf] must be set
原因:缺少配置文件。去下载运行版的配置文件,然后修改源码版的配置到运行版的配置目录。ERROR: the system property [es.path.conf] must be set配置Configuration - VM options - -Des.path.conf=已经下载好的配置文件目录。path.home is not configured配置-Des.path.home=已经下载好的配置文件目录。...原创 2022-04-02 11:06:30 · 727 阅读 · 0 评论 -
第一次GRADLE创建很慢
第一次安装,修改elasticsearch-7.10.2/gradle/wrapper/gradle-wrapper.properties,把distributionUrl=gradle-6.6..1-all.zip 改为本地地址,同时把gradle的zip包放到同级目录下。原创 2022-04-02 11:02:00 · 480 阅读 · 0 评论 -
java.security.AccessControlException: access denied(“java.lang.RuntimePermission“, “getClassLoader“)
运行java程序时,报错:java.security.AccessControlException: access denied("java.lang.RuntimePermission", "getClassLoader")JDK有一些安全限制,可以修改配置文件文件jdk目录/conf/security下java.policy,禁用这些限制:permission java.lang.RuntimePermission "getClassLoader";permission java.lang.R原创 2022-04-02 10:58:31 · 2549 阅读 · 0 评论 -
java -jar 中文乱码
Windows CLI命令行下默认是GBK编码,这跟Jar包内置的编码不一致的话,就会出现乱码问题。我们可以用-Dfile.encoding指定编码方式,一般是UTF-8编码。$ java -jar -Dfile.encoding=utf-8 XX.jar原创 2022-03-17 18:29:45 · 4327 阅读 · 1 评论 -
Maven编译报错:java.lang.NoClassDefFoundError: org/w3c/dom/ls/DocumentLS
版本问题。在IDEA的Project Structure里设置:把原来是Java11,改为Java1.8就可以了。原创 2022-03-17 16:37:13 · 793 阅读 · 2 评论 -
Java join线程合并、排队、插队
join()方法用来挂起当前运行状态的线程,直到定义的线程执行完毕。在很多情况下,主线程创建并启动子线程,如果子线程中要进行大量的耗时运算,主线程将可能早于子线程结束。如果主线程需要知道子线程的执行结果时,就需要等待子线程执行结束了。主线程可以sleep(xx),但这样的xx时间不好确定,因为子线程的执行时间不确定,join()方法比较合适这个场景。这个常见的一个应用就是安装程序,很多大的软件都会包含多个插件,如果选择完整安装,则要等所有的插件都安装完成才能结束,且插件与插件之间还可能会有依赖关系。安装原创 2021-06-06 10:57:50 · 499 阅读 · 1 评论 -
Java线程状态
线程状态分类Java有6中状态:序号状态含义1初始(NEW)新创建了一个线程对象,但还没有调用start()方法。2运行(RUNNABLE)Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行”。线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取CPU的使用权,此时处于就绪状态(ready)。就绪状态的线程在获得CPU时间片后变为运行中状态(runnin原创 2021-06-06 10:43:57 · 231 阅读 · 2 评论 -
Java多线程同步
多线程之间没有资源共享,不会出现死锁;有多个资源共享,就会出现数据非预期,出现线程不安全问题。Java一般通过synchronized同步锁来支持线程同步。以售票为例:package com.test.thread;/** * 描述: 演示 - synchronized 关键字 */public class C3Synchronized implements Runnable { /** * 修饰实例方法:对当前实例加锁,进入同步代码前要获得当前实例的锁 *原创 2021-06-04 17:08:39 · 111 阅读 · 0 评论 -
Java用户线程和守护线程区别
用户线程(前台线程): 应用程序必须运行完所有的用户线程才可以退出。守护线程(后台线程): 应用程序则可以不考虑其是否已经运行完毕而直接退出,所有的守护线程在应用程序退出时都会自动结束。原创 2021-05-31 16:21:48 · 158 阅读 · 0 评论 -
IntelliJ IDEA编译错误Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile
JDK版本一致右键点击项目名,打开Open Module Settings:在项目的pom.xml中加入以下代码 <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <g原创 2020-07-02 11:04:49 · 2580 阅读 · 1 评论 -
PHP的=和!的运算符优先级
一般编程语言中,运算符!的优先级大于=,但是在PHP中有个意外。PHP这样写可以正常运行:$str = 'asdf';var_dump(!$str = false);结果为bool(true)。参考PHP官方文档可知:Note:尽管 = 比其它大多数的运算符的优先级低,PHP 仍旧允许类似如下的表达式:if (!$a = foo()),在此例中 foo()的返回值被赋给了 $a。也就说上面的代码相当于:$str = 'asdf';var_dump(!($str = false))原创 2020-05-27 15:18:38 · 464 阅读 · 0 评论 -
Java Integer对象等号的陷阱
考虑下面的Java程序,你认为会输出为什么结果?public class EqualTest{ public static void main(String[] args) { Integer integer1 = 3; Integer integer2 = 3; if (integer1 == integer2...原创 2019-12-26 11:46:29 · 586 阅读 · 0 评论 -
Maven安装和配置
简介Maven是基于POM(Project Object Model)的项目管理工具,可以管理项目的构建、发布。主要特点统一开发规范与工具统一管理jar包安装安装JDK,配置JAVA_HOME下载Maven解压,并把解压的bin目录加入PATH测试mvn -v运行命令格式mvn [options] [<goal(s)>] [<phase(s)>]打包mvn package查看帮助原创 2017-04-13 17:37:00 · 815 阅读 · 0 评论 -
Ubuntu/Centos下Java环境配置
查看是否已安装JDK运行如下命令:java -version如果提示出了java版本等信息,则已经安装了java。否则,没有安装。下载JDK查看系统位数运行如下命令:uname -m如果包含64,则是64位系统,可以下载对应的64位版本,否则下载32位jdk版本。下载地址http://www.oracle.com/technetwork/java/javase/downloads/index.htm原创 2017-08-21 17:00:52 · 545 阅读 · 0 评论 -
kafka1.0.0安装启动和客户端基本使用
下载安装需要提前装好JDK。下载地址:http://kafka.apache.org/downloads.html推荐下载scala 2.11版本的。解压并进入目录。启动需要启动zookeeperbin/zookeeper-server-start.sh config/zookeeper.properties启动kafkabin/kafka-serv原创 2018-01-23 14:16:08 · 1383 阅读 · 0 评论 -
confluent4.0安装和kafka connect快速使用
安装需要JDK 1.7以上版本。confluent 4.0下载地址:http://packages.confluent.io/archive/4.0/confluent-oss-4.0.0-2.11.zip confluent 3.3下载地址:http://packages.confluent.io/archive/3.3/confluent-oss-3.3.0-2.11.tar.gz原创 2018-01-25 18:14:20 · 5977 阅读 · 0 评论 -
Java安全框架Shiro
简介Apache Shiro 是一个强大易用的 Java 安全框架,提供了认证、授权、加密和会话管理等功能,对于任何一个应用程序,Shiro 都可以提供全面的安全管理服务。并且相对于其他安全框架,Shiro 要简单的多。本教程只介绍基本的 Shiro 使用,不会过多分析源码等,重在使用。没有使用Shiro之前,我们的用户登陆和授权,都是自己敲代码写后台实现,Shiro框架就封装对用户认证和...原创 2018-08-21 15:15:41 · 557 阅读 · 0 评论 -
SSM框架
SSM框架简介SSM框架,是Spring + Spring MVC + MyBatis的缩写,这个是继SSH之后,目前比较主流的Java EE企业级框架,适用于搭建各种大型的企业级应用系统。1.Spring简介Spring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由Rod Johnson在其著作Expert One-On-One J2EE Devel...转载 2018-08-29 09:40:00 · 429 阅读 · 0 评论 -
理解Java的接口和抽象类
对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。下面是本文的目录大纲:一.抽象类二.接口三.抽象类和接口的区别若有不正之处,请多多谅解并欢迎批评指正,不甚感激。请尊重作者劳...转载 2018-09-23 18:02:52 · 181 阅读 · 0 评论 -
Jenkins
基于Java开发的一种持续集成工具,用于监控持续重复的工作。http://www.jenkins.org.cn/原创 2018-10-11 18:25:59 · 248 阅读 · 0 评论 -
反编译 APK
apktool 获取资源文件资源文件获取,可以提取出图片文件和布局文件进行使用查看。下载地址: https://bitbucket.org/iBotPeaches/apktool/downloads/APK文件无非就是一个zip压缩包,但是直接用unzip命令解压,会增大编译源,从而无法进行下一步的查看或反编译。apktool就是扮演这么一个角色,可以加压缩,并且可以正常解码文件。apkt...原创 2018-10-17 16:26:29 · 3225 阅读 · 0 评论 -
Hadoop词频统计
Hadoop MapReduce 的出现,使得大数据计算通用编程成为可能。现在从头到尾布置一下环境。安装JAVA开发版JDK不要安装openjdk的jre,那个不全。yum install java-1.7.0-openjdk-devel -y配置环境变量export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.201-2.6.16....原创 2019-01-22 11:46:34 · 1569 阅读 · 5 评论 -
Java分词工具HanLP
HanLP是由一系列模型与算法组成的Java工具包,目标是普及自然语言处理在生产环境中的应用。不仅仅是分词,而是提供词法分析、句法分析、语义理解等完备的功能。HanLP具备功能完善、性能高效、架构清晰、语料时新、可自定义的特点。HanLP完全开源,包括词典。不依赖其他jar,底层采用了一系列高速的数据结构,如双数组Trie树、DAWG、AhoCorasickDoubleArrayTrie等,这些基础原创 2017-04-18 17:41:02 · 2304 阅读 · 0 评论