syb18810107241
码龄13年
关注
提问 私信
  • 博客:89,700
    社区:2
    89,702
    总访问量
  • 39
    原创
  • 1,765,702
    排名
  • 78
    粉丝
  • 0
    铁粉

个人简介:1、开发语言:Java、Scala; 2、熟练掌握 Hadoop:HDFS、MapReduce、Yarn、Hive; 3、熟练掌握 HBase; 4、熟练掌握 Spark、SparkSQL、Spark Streaming; 5、熟练掌握 Kafka 6、熟练掌握 Flink 7、熟练掌握Java多线程和并发编程 8、熟悉JVM,有一定的JVM调优经验 9、熟悉Flume、Zookeeper、Apache Doris、ES、Redis等Hadoop生态体系其他工具

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2012-07-26
博客简介:

syb18810107241的专栏

查看详细资料
个人成就
  • 获得17次点赞
  • 内容获得11次评论
  • 获得34次收藏
创作历程
  • 12篇
    2023年
  • 2篇
    2017年
  • 9篇
    2016年
  • 3篇
    2015年
  • 7篇
    2014年
  • 25篇
    2013年
成就勋章
TA的专栏
  • 常用工具方法
  • JSON解析
  • 时间日期操作
    2篇
  • 多线程与高并发
    6篇
  • Java基础
    11篇
  • 数据结构与算法
    2篇
  • SSH
    4篇
  • 数据库与JDBC
    10篇
  • WEB前端
    14篇
  • 常见异常
    2篇
  • 大数据
    5篇
  • Hadoop
  • Flink
  • Spark
    1篇
  • HBase
  • Kafka
兴趣领域 设置
  • 大数据
    hadoophivespark
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

【多线程与高并发(锁)】3、synchronized锁及其特性

可见性:必须确保在锁被释放之前,对共享变量所做的修改,对于随后获得该锁的另一个线程是可见的(即在获得锁时应获得最新共享变量的值),否则另一个线程可能是在本地缓存的某个副本上继续操作从而引起不一致。互斥性:即在同一时间只允许一个线程持有某个对象锁,通过这种特性来实现多线程中的协调机制,这样在同一时间只有一个线程对需同步的代码块(复合操作)进行访问。互斥性我们也往往称为操作的原子性。synchronized 是 Java 中的关键字,是利用锁的机制来实现同步的。
原创
发布博客 2023.04.08 ·
711 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

【多线程与高并发(锁)】2、什么时候需要加锁

在上面的程序中,线程 t1和t2 在执行前都先sleep了一秒,此时两个线程读取到的 wordCount 的变量值都是 10,线程 t1 对这个变量+20,线程 t2 对这个变量 +30。我们最终看到的结果可能是 30 (10+20),也可能是 40(10+30)。但是这2个结果都不是我们想要的结果,我们需要的正确结果应该是 10+20+30=60。在这种情况下,我们就需要加锁,可以把 addWordCount 方法锁住,当一个线程进入这个方法中时,不允许另外的线程对wordCount变量进行操作。
原创
发布博客 2023.04.08 ·
347 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【多线程与高并发(锁)】1、锁的概念、分类和状态

java当中的锁、是在多线程环境下为保证共享资源健康、线程安全的一种手段。线程操作某个共享资源之前,先对资源加一层锁,保证操作期间没有其他线程访问资源,当操作完成后,再释放锁。
原创
发布博客 2023.04.08 ·
457 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【多线程与高并发应用】1、借助addShutdownHook和线程的join方法优雅的退出while(true)循环(Scala实现)

【代码】【多线程与高并发应用】1、借助addShutdownHook和线程的join方法优雅的退出while(true)循环(Scala实现)
原创
发布博客 2023.04.06 ·
631 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【时间日期转换】将日期或者时间戳转换成指定格式的字符串并指定时区(Scala实现)

【代码】【时间日期转换】将日期或者时间戳转换成指定格式的字符串并指定时区(Scala实现)
原创
发布博客 2023.04.06 ·
1593 阅读 ·
1 点赞 ·
1 评论 ·
1 收藏

【时间日期转换】将字符串转换为日期并指定时区(Scala实现)

在上面的代码中,首先使用TimeZone.getTimeZone方法将指定的时区Id转换为TimeZone对象。然后使用FastDateFormat.getInstance方法获取一个FastDateFormat对象, 并且通过timeZone参数指定了时区。最后,使用FastDateFormat对象的parse方法将给定的日期字符串转换为指定时区的日期。
原创
发布博客 2023.04.06 ·
1071 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【SparkSQL】JDBC Data Source - 从MySQL中读取数据

Spark SQL从MySQL中读取数据
原创
发布博客 2023.04.04 ·
271 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

【多线程与高并发(线程)】2、线程的启动方式

联系:Thread也是实现自Runable,两种方式都需要重写run()方法,将线程要执行的逻辑声明在run中。4.将此对象作为参数传递到Thread类中的构造器中,创建Thread类的对象。2.实现类去实现Runnable中的抽象方法:run()2:实现的方式更适合用来处理多个线程有共享数据的情况。5.通过Thread类的对象调用start()开发中,优先选择实现Runable接口的方式。1.创建一个实现了Runable接口的类。1:实现的方式没有类的单继承性的局限性。3.创建实现类的对象。
原创
发布博客 2023.04.03 ·
273 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【多线程与高并发(线程)】1、线程的基本概念

总结:并行:多个CPU同时执行多个任务,比如:多个人同时做不同的事并发:一个CPU(采用时间片)同时执行多个任务,比如秒杀平台,多个人做同件事以单核CPU为例,只使用单个线程先后完成多个任务(调用多个方法),肯定比用多个线程来完成用的时间更短,为何仍需多线程呢?
原创
发布博客 2023.04.03 ·
248 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

数据结构和算法前置知识2-将给定的整数转换成32位二进制(基于Scala)

Scala 二进制
原创
发布博客 2023.04.03 ·
202 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

数据结构和算法前置知识1-计算机中的原码、反码和补码

带符号整数有原码、反码、补码等几种编码方式。原码即直接将真值转换为其相应的二进制形式,而反码和补码是对原码进行某种转换编码方式。正整数的原码、反码和补码都一样,负数的反码是对原码的除符号位外的其他位进行取反后的结果(取反即如果该位为0则变为1,而该位为1则变为0操作)。而补码是先求原码的反码,然后在反码的末尾位加1后得到结果,即补码是反码+1补码就是最方便的方式。它的便利体现在,所有的加法运算可以使用同一种电路完成以-8作为例子。假定有2种表示方法。一种是。
原创
发布博客 2023.04.02 ·
503 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Flink窗口计算

Flink窗口计算
原创
发布博客 2023.03.28 ·
969 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Spark源码学习(二)---Master和Worker的启动以及Actor通信流程

在《Spark源码学习(一)》中通过Spark的启动脚本,我们看到Spark启动Master的时候实际上是启动了org.apache.spark.deploy.master.Master,启动Master的时候实际上是启动了org.apache.spark.deploy.worker.Worker,下面我们就从这2个类入手,通过阅读Spark的源码,了解Spark的启动流程。1,首先看一下or
原创
发布博客 2017.01.21 ·
554 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Spark源码学习(一)---Spark的启动脚本

启动Spark的时候,分别执行${SPARK_HOME}/sbin/start-master.sh和${SPARK_HOME}/sbin/start-slaves.sh两个脚本,下面就先看一下这两个脚本中都做了什么;(1)${SPARK_HOME}/sbin/start-master.sh:(1.1)首先将一些配置信息加载到环境变量中:. "${SPARK_HOME}/sbin/spa
原创
发布博客 2017.01.19 ·
569 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

使用sshpass进行ssh/scp/sftp/自动输入密码

1,sshssh 端口为默认22的时候:#sshpass -p userpassword ssh  -o StrictHostKeyChecking=no  username@serverip "ls /"ssh 端口不是默认22的时候,假如为1234#sshpass -p userpassword ssh  -o StrictHostKeyChecking=n
原创
发布博客 2016.12.09 ·
9049 阅读 ·
3 点赞 ·
1 评论 ·
6 收藏

IntelliJ IDEA使用教程

参考地址:http://www.phperz.com/article/15/0923/159068.html
转载
发布博客 2016.11.26 ·
524 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

HBase1.2.4使用Java API创建和删除Table示例程序

刚开始接触Java API操作HBase,碰到了zookeeper,hbase的配置问题,后来报错:HMaser is not running的错误,最后从HBase官网找了一段Java操作HBase的Demo,稍微改动一下,运行成功了!直接上代码:import org.apache.hadoop.conf.Configuration;import org.apache.hadoo
原创
发布博客 2016.11.20 ·
3349 阅读 ·
3 点赞 ·
2 评论 ·
2 收藏

Intellij IDEA 将java项目打包成jar

1.菜单:File->project stucture2. Artifacts--->JAR--->from modules with dependencies3. 选择配置4.最后执行下面的操作,别忘了上一步把buil on make勾选5,然后就可以看到打好的jar包了
原创
发布博客 2016.11.15 ·
4713 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

解决Maven项目pom.xml文件报xxx\target\classes\META-INF\MANIFEST.MF (系统找不到指定的路径)问题

错误解决步骤:  1.找到eclipse的project菜单选择clean...选项        2.选择Clean all projects 或者 Clean projects selectd blow(选择此项必须勾选出错的项目)        3.等着progress视图里的build完成,你就会发现现在已经不再出现错误了!
原创
发布博客 2016.11.02 ·
8781 阅读 ·
4 点赞 ·
0 评论 ·
7 收藏

Java文件上传(待完善)

1,首先导入fileupload的maven依赖 commons-fileupload commons-fileupload 1.3.12,编写JSP 用户名: 请选择文件1: 请选择文件2: 开始上传 3,编写Servletpackage com.sunyb.servlet;import org.a
原创
发布博客 2016.05.22 ·
537 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多