![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
cx201125
这个作者很懒,什么都没留下…
展开
-
java并发之park、unpark的使用及原理
他们都是LockSupport中的方法如下代码,先park再unpark运行结果先unpark再park运行结果通过以上结果可以看出,当线程调用unpark之后会给线程添加唤醒标记,后续park时,会检查是否提前唤醒过。原创 2023-04-10 16:28:10 · 451 阅读 · 0 评论 -
java cas原理
CAS(Compare-And-Swap)是比较并交换的意思,它是一条 CPU 并发原语,用于判断内存中某个值是否为预期值,如果是则更改为新的值,这个过程是原子的更新一个变量的时候,只有当变量的预期值 A 和内存地址 V 中的实际值相同时,才会将内存地址 V 对应的值修改为 B,这整个操作就是CAS。CAS 是 Compare And Swap,是一条 CPU 原语,由操作系统保证原子性。原创 2023-04-10 16:13:04 · 88 阅读 · 0 评论 -
k8s发布spring boot项目
一、用docker将java项目打包镜像1、创建dockerfile文件vim dockerfile# 设置jdk环境FROM openjdk:8-jdk-alpineVOLUME /tmp# 把jar包添加到镜像中(第一个参数是jar包的位置,第二个参数是docker镜像的位置)ADD blog-0.0.1-SNAPSHOT.jar /blog-0.0.1-SNAPSHOT.jar# 容器启动命令ENTRYPOINT ["java","-jar","/blog-0.0.1-SNAPSH原创 2022-05-03 00:01:27 · 684 阅读 · 0 评论 -
计算两个日期之间(忽略秒)相差的分钟数
计算两个日期之间(忽略秒)相差的分钟数 val l1 = LocalDateTime.parse("2019-05-30 07:34:58",DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")) val l2 = LocalDateTime.parse("2019-05-29 07:23:48",DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")) val l3 = l1.minusSecond原创 2022-03-11 10:33:46 · 389 阅读 · 0 评论 -
scala集合的转换操作
将一个不可变列表转换为可变列表//导入包import scala.collection.mutable._val list = List(1,2,3)val buffer: ListBuffer[Int] = ListBuffer.concat()//向集合添加元素 buffer += 2scala集合和java集合的相互转换//导入包import scala.collection.JavaConverters._val list: List[Int] = List(2,3)//将s原创 2022-03-09 13:06:30 · 1960 阅读 · 0 评论 -
scala集合添加元素
val list = List(1,2,3) // :: 用于的是向队列的头部追加数据,产生新的列表, x::list,x就会添加到list的头部 println(4 :: list) //输出: List(4, 1, 2, 3) // .:: 这个是list的一个方法;作用和上面的一样,把元素添加到头部位置; list.::(x); println( list.:: (5)) //输出: List(5, 1, 2, 3) // :+ 用于在list尾部追加元素;原创 2022-03-09 12:27:06 · 1345 阅读 · 0 评论 -
LocalDate实现日期的加减运算
日期加上多少天val date = LocalDate.of(2020,6,1)//加两天date.plusDays(2)日期减上多少天val date = LocalDate.of(2020,6,1)//减两天date.minusDays(2)//创建一个localDate日期对象:年,月,日 val date = LocalDate.of(2020,6,1) val cur_date= LocalDate.of(2020,4,30) //获取月份:不满两个月按原创 2022-03-09 12:11:36 · 6596 阅读 · 0 评论 -
LocalDate实现字符串和时间的相互转换
将时间字符串格式化为时间:val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")val head_date = LocalDate.parse("1992-05-10 00:00:00",formatter )将时间转换为字符串val f= DateTimeFormatter.ofPattern("yyyy-MM-dd")val str: String = head_date.format(f)...原创 2022-03-09 11:24:51 · 1543 阅读 · 0 评论 -
hbase
hbase-site.xml<configuration><property><name>hbase.rootdir</name><value>hdfs://hadoop102:9000/HBase</value></property><property><name>hbase.cluster.distributed</name><value>true</原创 2021-02-22 18:39:12 · 56 阅读 · 0 评论 -
配置hive
hive-site.xml<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><!--判断mysql下是否有这个数据库,没有的话创建--><property> <name>javax.jdo.option.ConnectionURL</原创 2021-01-16 15:45:16 · 79 阅读 · 0 评论 -
从零创建hadoop集群
1.创建一个虚拟机1.点击创建新的虚拟机2.选择自定义安装3.4.5安装的操作系统和名称6安装位置和虚拟机的名称7.8.9.10.11.12.13.14.15.点击完成16.点击编辑虚拟机设置17.选择自己的虚拟机的镜像文件18.开启此虚拟机19.等待开启完成,进去安装页面,直接点击下一步20.点击DATE&TIME21.修改时区22.选择需要安装的软件23.这里选择Service with GUI24.对磁盘进行原创 2021-01-13 11:04:26 · 123 阅读 · 0 评论 -
Spring Aop
1.Spring AOP是什么?Aspect Oriented Programming:面向切面编程什么时候会出现面向切面编程的需求?按照软件重构的思想,如果多个类中出现重复的代码,就应该考虑定义一个共同的抽象类,将这些共同的代码提取到抽象类中,比如Teacher,Student都有username,那么就可以把username及相关的get、set方法抽取到SysUser中,这种情况,我们称为纵向抽取。但是如果,我们的情况是以下情况,又该怎么办? 给所有的类方法添加性能检测,事务控制,该怎么抽取?原创 2020-11-19 16:13:20 · 276 阅读 · 0 评论 -
spring boot常用注解
SpringBoot注解@SpringBootApplication:开启Spring Boot自动配置的核心注解,相关等同于@Configuration,@EnableAutoConfiguration和@ComponentScan三个注解同时使用。@EnableAutoConfiguration:SpringBoot自动配置开启注解。开启之后,会尝试根据添加到classpath中jar依赖自动配置相关组件。是Spring Boot自动配置机制的核心注解之一。@ConditionalOnXXXX:原创 2020-11-03 20:04:55 · 162 阅读 · 0 评论 -
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
java经典算法题有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?代码://这是一个菲波拉契数列问题public class test01 { public static void main(String[] args) { int f1=1,f2=1,f; int M=30; System.out.println(f1); System.out原创 2020-11-02 21:09:20 · 259 阅读 · 0 评论