
JAVA学习
文章平均质量分 72
青山孤客
网易高级服务端开发工程师,浙江省评标专家,信息系统项目管理师,杭州市E类人才。杭州电子科技大学工学硕士,曾访学圣彼得堡国立信息技术机械与光学大学(ITMO),在国际计算机软件和应用会议(COMPSAC)发表1篇学术论文,目前已申请国家发明专利4项,2项软件著作权。兴趣是数据开发、后端开发、信息系统项目管理等。
展开
-
解决部署Hudi时遇到的 Error extracting protoc for version 3.21.5: Unsupported platform: protoc-xxx.exe 问题
下载以后直接解压即可,但是我们进入 bin目录下打开protoc的时候会显示无法验证开发者。可以看出是版本冲突的问题,解决方案就需要重新安装符合的protoc。,下面会提示是否允许protoc,我们选择允许既可以。选择允许后会直接打开这个界面,可以看到我们安装成功了。下载对应的文件,这里我选择符合操作系统的。静静等待十几分钟,可以发现打包成功了。原创 2023-03-24 15:59:19 · 1703 阅读 · 2 评论 -
使用Maven构建Hudi时报错Could not create local repository at /Library/apache-maven-3.8.6/repository 解决
但是同样执行以后,然后会报一样的错误。说明跟idea中配置没关系,突然反应过来,在idea的终端打包还是使用的系统本身环境。而/Library/apache-maven-3.8.6中文件权限不足,因此会产生此问题。第一反应是使用了系统默认的maven,而不是使用自己搭建的maven仓库。可以直接在idea中的右侧maven中对项目进行打包,这样使用的就是我们配置的环境,当然也可以修改系统环境,mac只需在。中修改maven仓库的位置。让文件生效,别忘了在。原创 2023-03-24 15:02:41 · 924 阅读 · 0 评论 -
Java基础——synchronize关键字
1、synchronize了解 synchronized 关键字解决的是多个线程之间访问资源的同步性,持有这把锁会把里面的并发变成序列化, synchronized 关键字可以保证被它修饰的⽅法或者代码块在任意时刻只能有⼀个线程执⾏,是一个悲观锁,会导致效率低下。注意:**构造方法不能使用 synchronized 关键字修饰。**构造方法本身就属于线程安全的,不存在同步的构造方法一说。synchronized 关键字最主要的三种使⽤⽅式: 1.修饰实例⽅法: 作⽤于当前对象实例加锁,进⼊同步原创 2021-10-26 15:38:27 · 1052 阅读 · 0 评论 -
Java基础——关键字
1.Synchronized解决的是多个线程之间访问资源的同步性,synchronized关键字可以保证被它修饰的⽅法或者代码块在任意时刻只能有⼀个线程执⾏。下面是常问的面试题。双重校验锁懒汉式单例:public class Singleton { private volatile static Singleton uniqueInstance; private Singleton() { } public synchronized static Singleton...原创 2021-10-26 14:59:16 · 254 阅读 · 0 评论 -
Java基础——深拷贝和浅拷贝
一、深拷贝和浅拷贝区别**浅拷贝(shallowCopy)**只是增加了一个指针指向已存在的内存地址。**深拷贝(deepCopy)**是增加了一个指针并且申请了一个新的内存,使这个增加的指针指向这个新的内存。深拷贝和浅拷贝最根本的区别在于是否真正获取一个对象的复制实体,而不是引用。假设B复制了A,修改A的时候,看B是否发生变化:如果B跟着也变了,说明是浅拷贝,拿人手短!(修改堆内存中的同一个值)如果B没有改变,说明是深拷贝,自食其力!(修改堆内存中的不同的值)二、深拷贝的实现方法一: 构造原创 2021-10-19 10:36:58 · 498 阅读 · 0 评论 -
Java基础——HashCode与equals
1、hashCode()介绍:hashCode() 的作⽤是获取哈希码,也称为散列码;它实际上是返回⼀个 int 整数。这个哈希码的作⽤是确定该对象在哈希表中的索引位置。 hashCode() 定义在 JDK 的 Object 类中,这就意味着 Java 中的任何类都包含有 hashCode() 函数。另外需要注意的是: Object 的 hashcode ⽅法是native本地⽅法,也就是⽤ c 语⾔或 c++ 实现的,该⽅法通常⽤来将对象的 内存地址 转换为整数之后返回。2、为什...原创 2021-08-10 10:00:34 · 1122 阅读 · 0 评论 -
将MySQL中数据转为层级Json格式
目前需要将mysql中的论文数据转为json格式,但是其中合作作者一列中多个人民通过封号隔开,最后转化样式如下:原创 2021-06-17 16:12:50 · 1885 阅读 · 1 评论 -
将MySQL中的中文姓名转为拼音
一、首先设计好数据库表对应的实体类:Paper类:public class Paper { private String name; //论文题目 private String firstAuthor; //第一作者 private String time; //发表时间 private String publications; //发表刊物 private String company;原创 2021-06-16 17:15:14 · 852 阅读 · 0 评论 -
Java调用Python程序方法总结
如何使用Java调用Python程序本文为大家介绍如何java调用python方法,供大家参考。实际工程项目中可能会用到Java和python两种语言结合进行,这样就会涉及到一个问题,就是怎么用Java程序来调用已经写好的python脚本呢,一共有三种方法可以实现,具体方法分别为大家介绍:1. 在java类中直接执行python语句此方法需要引用org.python包,需要下载Jpython。在这里先介绍一下Jpython。下面引入百科的解释:Jython是一种完整的语言,而不是一个J转载 2021-05-07 19:07:59 · 549 阅读 · 0 评论 -
使用LinkedHashMap设计LRU缓存
LRU缓存使用Java设计LRU缓存结构,该结构在构造时确定大小,假设大小为K,并有如下两个功能 :set(key, value):将记录(key, value)插入该结构 get(key):返回key对应的value值要求某个key的set或get操作一旦发生,认为这个key的记录成了最常使用的。 当缓存的大小超过K时,移除最不经常使用的记录,即set或get最久远的。 若opt=1,接下来两个整数x, y,表示set(x, y) 若opt=2,接下来一个整数x,表示get(x),若原创 2021-03-20 21:14:11 · 275 阅读 · 2 评论 -
Map中的 keySet() 方法 与 Iterator 迭代的遍历,LinkedHashMap与HashMap区别
keySet()方法如果有一个Map对象,可以使用 map.keySet() 方法获取所有的key值,Iterator迭代器Java Iterator(迭代器)不是一个集合,它是一种用于访问集合的方法。如果是HashMap、HashSet这些则打印的顺序于你插入的顺序无关,只与你插入的内容有关(根据HASHCODE排序)的。所以这样输出我们会丢失我们插入时的顺序。如果我们需要按照插入的顺序进行迭代遍历,则创建Map时新建 LinkedHashMap 。它继承于 HashMap,底层是..原创 2021-03-20 16:13:50 · 3870 阅读 · 0 评论 -
将java项目导出为jar文件,使用corntab在linux配置定时任务
今天总结一下开发的步骤。因为学校方面人员可能会存在变动,之前导入的数据需要定期更新一下。所以先使用java写好定期更新表项目,然后导出jar文件后,再使用corntab在linux中配置定时任务,让其每天凌晨更新一次。1、首先先执行maven clean将target下的目录清空2、在执行maven install 将该包安装至maven本地仓库install 后可以看到package将项目打包至target目录下,nstall就是将该包安装至maven本地仓库,以供其他项目依赖。简单来原创 2020-05-12 18:33:17 · 306 阅读 · 0 评论 -
使用spring开发遇到 ... nested exception is java.lang.NullPointerException] with root cause
今天使用spring框架开发一个项目时遇到了一点小问题,同样的一个功能,取出数据库中查询到的总条数,但是在两个BizImpl中代码相似,一个通过但是另一个却报错。严重: Servlet.service() for servlet [DispatcherServlet] in context with path [/wcx] threw exception [Request proc...原创 2018-03-31 14:32:47 · 33528 阅读 · 2 评论 -
Parameter Maps collection does not contain value for com.wcx.mapper.*.Map
今天在写一个项目,我使用spring来实现用户登录操作,应该调用的是ManagerMapper.xml中 id为managerLogin的SQL语句,我也在Biz层中输出了传递到后台的值与调用相关XML中的地址(红体字是我测试输出的数据),它是应该去找ManagerMapper.xml但是一直报错是TemplateMapper.map。网上也找了好多答案,一直没有解决,目光一直放在ManagerM...原创 2018-03-25 11:33:42 · 1639 阅读 · 0 评论 -
IDEA中导入Maven项目以后添加依赖却不能使用,报Cannot resolve symbol XXX
今天我外部导入了一个maven项目,后面要添加新的依赖。我在项目的pom.xml中写上了相关依赖,如下: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-...原创 2019-01-08 18:44:01 · 6615 阅读 · 2 评论 -
Java项目打包失败,pom.xml文件的开头 ?xml 与 project 标签报错【target目录无法访问无权限】
遇到的问题:今天在部署项目的时候,需要将一个java项目打包成jar包上传到服务器中。但是传了一次后发现配置信息还有问题,所以又重新上传一次,结果在项目右键 Run As --> Maven clean 以后,此maven项目的pom.xml文件报错了:文件的开头 <?xml> 与 <project> 标签出错。问题分析:然后我就想看看项目路径下 ta...原创 2020-01-16 12:05:14 · 1403 阅读 · 0 评论 -
使用API获取json格式数据解析后插入数据库(过程详解)
这周在开发中遇到一些所需数据但是不在数据库中,需要我们调用API接口向服务器请求信息下来,但是那些信息都是json格式的数据不能直接插入到数据库中。一、首先在pom.xml中的dependencies标签中copy下面的代码,导入gson的jar包:<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -...原创 2019-11-17 00:49:19 · 4809 阅读 · 3 评论 -
阿里开源数据库迁移项目yugong——(使用指南)
背景 08年左右,阿里巴巴开始尝试MySQL的相关研究,并开发了基于MySQL分库分表技术的相关产品,Cobar/TDDL(目前为阿里云DRDS产品),解决了单机Oracle无法满足的扩展性问题,当时也掀起一股去IOE项目的浪潮,愚公这项目因此而诞生,其要解决的目标就是帮助用户完成从Oracle数据迁移到MySQL上,完成去IOE的第一步.项目介绍名称: yugong...转载 2019-10-31 14:56:58 · 7101 阅读 · 4 评论 -
Eclipse的preferences中没有maven解决办法并配置maven(总结)
一、首先下载并安装maven这里就不主要阐述了,下载、安装与配置本地仓库路径的步骤可以看这里:https://blog.youkuaiyun.com/JJBOOM425/article/details/102808157要是有不想去官网下载maven的同学可以使用下面这个百度云:链接: apache-maven-3.6.2-bin.zip提取码: t4fy我分享了现在最新的maven...原创 2019-10-29 21:18:11 · 6036 阅读 · 0 评论 -
Maven下载和安装
注意:安装Maven3之前需要安装jdk1.7以上版本,下面介绍的是最新版Maven官网下载并安装,每个人使用的编辑器不同,在这里我就不介绍了,可以去网上查对应编辑器Maven配置方法。第一步,Maven官网下载地址http://maven.apache.org/download.cgi第二步,解压文件包1.apache-maven-3.5.2-bin.zip...转载 2019-10-29 20:44:53 · 1337 阅读 · 0 评论