自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 资源 (5)
  • 收藏
  • 关注

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

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

2023-04-08 14:39:59 643

原创 【多线程与高并发(锁)】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 14:03:22 291

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

java当中的锁、是在多线程环境下为保证共享资源健康、线程安全的一种手段。线程操作某个共享资源之前,先对资源加一层锁,保证操作期间没有其他线程访问资源,当操作完成后,再释放锁。

2023-04-08 13:29:50 420

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

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

2023-04-06 17:00:20 597

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

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

2023-04-06 16:03:21 1534 1

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

在上面的代码中,首先使用TimeZone.getTimeZone方法将指定的时区Id转换为TimeZone对象。然后使用FastDateFormat.getInstance方法获取一个FastDateFormat对象, 并且通过timeZone参数指定了时区。最后,使用FastDateFormat对象的parse方法将给定的日期字符串转换为指定时区的日期。

2023-04-06 15:21:59 981

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

Spark SQL从MySQL中读取数据

2023-04-04 16:02:04 239

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

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

2023-04-03 23:14:00 252

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

总结:并行:多个CPU同时执行多个任务,比如:多个人同时做不同的事并发:一个CPU(采用时间片)同时执行多个任务,比如秒杀平台,多个人做同件事以单核CPU为例,只使用单个线程先后完成多个任务(调用多个方法),肯定比用多个线程来完成用的时间更短,为何仍需多线程呢?

2023-04-03 22:57:51 224

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

Scala 二进制

2023-04-03 01:09:31 162

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

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

2023-04-02 00:20:59 333

原创 Flink窗口计算

Flink窗口计算

2023-03-28 00:28:33 890

原创 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 12:36:35 527

原创 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 00:13:23 537

原创 使用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 15:33:50 8824 1

转载 IntelliJ IDEA使用教程

参考地址:http://www.phperz.com/article/15/0923/159068.html

2016-11-26 17:24:44 500

原创 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 09:11:01 3315 2

原创 Intellij IDEA 将java项目打包成jar

1.菜单:File->project stucture2. Artifacts--->JAR--->from modules with dependencies3. 选择配置4.最后执行下面的操作,别忘了上一步把buil on make勾选5,然后就可以看到打好的jar包了

2016-11-15 23:12:29 4684

原创 解决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 11:06:29 8742

原创 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 23:42:55 522

原创 解析字段上的注解并为该字段注入一个对象

1,创建一个注解类package com.sunyb.annotation;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;/** * 用户实体注解类 * @author sunyb * @since 2016-05-21 * @version 1.0 */

2016-05-22 00:54:39 2792

原创 Java中的动态代理--Cglib(Code Generation Library)动态代理

在看这篇文章之前,可以先看一下我之前写的JDK动态代理。我们知道,使用JDK的动态代理,代理类必须和被代理的对象实现相同的接口,而使用CGLIB即使被代理类没有实现任何接口也可以实现动态代理功能。<JDK动态代理与CGLib动态代理均是实现Spring AOP的基础>          使用Cglib前需要导入相关的maven依赖 cglib cglib

2016-05-21 19:12:26 467

原创 Java中的动态代理--JDK动态代理

首先,我们用一个通俗的例子来理解一下代理。假设有一位明星,他会唱歌和跳舞。那么在这位明星成名之前,我们可以直接找这位明星唱歌和跳舞。但是他出名之后,肯定会找一个经济人,我们再想听这位明星唱歌或者看他跳舞,就只能先找到他的经济人,经纪人可能会向我们收费,然后再安排这位明星唱歌或者跳舞。这个经济人扮演的角色,其实就和我们今天要讲的代理特别相似。代理的目的是拦截对真实业务对象的直接访问。    下面

2016-05-21 18:34:07 550

转载 Twitter发布新的大数据实时分析系统Heron

Twitter发布了新开发的数据实时分析平台Heron,以下为官方文档摘译:我们每天在Twitter上处理着数十亿的事件。正如你猜测的那样,实时分析这些事件是一个巨大的挑战。目前,我们主要的分析平台是开源的分布式流计算系统Storm。但是随着Twitter数据规模变大和多样化,我们的需求已经发生了改变。因此,我们设计了一个新系统Heron——实时分析平台,它可完全兼容Storm的API。我们在

2015-06-03 13:47:25 545

原创 Eclipse远程Debug

JPDA简介JPDA(JavaTM Platform Debugger Architecture ),是为Java平台上的调试器定义了一个标准的体系结构,使您能够在各种环境中轻松调试 Java 应用程序,该体系结构包括3个主要组成部分:JVM TI、JDI和JDWP。JDWP是什么?JDWP的全称是Java Debug Wire Protocol,它定义了JPDA fr

2015-05-30 19:34:53 434

原创 Eclipse中使用Maven常用的依赖以及错误

1、pom.xml错误:Missing artifact jdk.tools:jdk.tools:jar:1.7jdk.tools:jdk.tools是与JDK一起分发的一个JAR文件,可以如下方式加入到Maven项目中: jdk.tools jdk.tools 1.7 system ${JAVA_HOME}/lib/tools.jar2、hadoop-

2015-05-30 14:15:48 1121

转载 jQuery Validation Engine 表单验证中文版

cankahttp://code.ciaoca.com/jquery/validation_engine/demo/index.html

2014-05-23 14:43:16 500

原创 HTML DOM open() 方法

定义和用法open() 方法用于打开一个新的浏览器窗口或查找一个已命名的窗口。语法window.open(URL,name,features,replace)参数描述URL一个可选的字符串,声明了要在新窗口中显示的文档的 URL。如果省略了这个参数,或者它的值是空字符串,那么新窗口就不会显示任何文档。name

2014-05-22 11:34:41 570

原创 Jquery只请求一个url,页面不刷新

jQuery.post("${pageContext.request.contextPath}/evaluation/exitSetLossToolApplet.do");

2014-05-21 17:12:03 1298

原创 url参数中的乱码问题

js:var data = "vehicleStereotypesDTO.groupName=" + encodeURIComponent(encodeURIComponent($("#sgroup").val()));getGroupList(data);action:

2014-05-12 10:29:36 592

原创 正在加载数据中效果

数据保存中... 提示:显示div:$("#gcjDhccFullScreen").css("display","block");隐藏div:$("#gcjDhccFullScreen").css("display","none");

2014-05-05 09:45:35 1931

转载 myeclipse不编译解决方法

在开发中经常遇到myeclipse不编译的情况,但不同情况的解决方法又不一样,今天同样是遇到此类情况,在网上狂搜,终于找到一篇好文,它囊括了解决这种情况的常用的方法,现在发出来与大家分享。我遇到的情况是通过最后一个方法解决的:classpath文件,里面的路径不正确。MyEclipse不编译解决1. 确保 project->build automatically    已经被选上. 

2014-03-25 18:13:07 522

原创 Java中JButton的常用设置

JAVA中JButton常用设置    1、 对JButton大小的设置  ——因为JButen是属于小器件类型的,所以一般的setSize不能对其惊醒大小的设置,所以一般我们用   button.setPreferredSize(new Dimension(30,30));

2014-03-04 15:24:46 1665

转载 Java 读取Excel文件

操作步骤:1.首先到网上载一下JExcelApi rar包,目前最新是:jexcelapi_2_6_12.tar,然后将其解压开,将 jxl.jar文件Copy到WEB-INF\lib目录下或直接导入到Java项目中2.相应的操作代码如下: package com.xqh.java.test; import java.io.File; imp

2013-12-10 17:28:26 713

原创 JavaSwing创建表格

一、Appletpackage com.jy.applet.day1206;import javax.swing.JApplet;import javax.swing.SwingUtilities;import javax.swing.UIManager;import org.apache.commons.logging.Log;import org.apache.commons

2013-12-06 17:26:12 1220

原创 JavaSwing实现树形结构

一、Appletpackage com.jy.applet.day1206;import java.awt.Container;import javax.swing.JApplet;import javax.swing.SwingUtilities;import javax.swing.UIManager;import org.apache.commons.logging.Lo

2013-12-06 13:53:09 4786 1

原创 Java程序调用iReport(傻瓜式教程)

1、新建一个Web Project:iReportTest2、拷贝iReport提供的jar包(根据所使用的iReport版本导入)以及数据库驱动jar到WEB-INF下的lib目录下3、新建一个Servlet:IreportServlet(不过多叙述)4、编写IreportServletpackage com.sunyanbo.web.controller

2013-11-29 16:57:18 8178 1

原创 对程序员很有用的网站(持续更新中)

数据库、Excel和CSV相关工具:http://www.withdata.com/index.html传智播客:http://www.itcast.cn/

2013-11-14 11:13:55 513

转载 精通Oracle的sql语句

SQL指令SELECT DISTINCT WHERE AND OR IN BETWEEN LIKE ORDER BY 函数COUNT GROUP BY HAVING ALIAS 表格链接外部链接CONCATENATE SUBSTRING TRIM 表格处理CREATE TABLE CONSTRAINT NOT

2013-11-13 14:48:21 973

转载 event对象、srcElement、offsetX 在 firefox中的解决方案

=问题一:在IE中event作为window对象的一个属性可以直接使用,但是在Firefox中却使用了W3C的模型,它是通过传参的方法来传播事件的,也就是说你需要为你的函数提供一个事件响应的接口,也就是在执行引用了event这个属性的方法时候,这个方法要传一个参数进去。解决方案:第一种 显式传输event对象。第二种 使用自定义的函数生成对象。function getEvent() /

2013-11-13 14:17:21 1322 1

很好用的Jquery消息提示插件

很好用的Jquery消息提示插件,可以实现多种效果的消息提示

2013-11-14

Tomcat7.0.42免安装版

Tomcat7.0.42免安装版,可任意拷贝,无需安装

2013-11-11

Spring3.2.4开发jar包

Spring3.2.4开发jar包,Spring开发不可缺少的jar包

2013-11-11

hibernate4.2.2最终版jar包

hibernate4.2.2最终版jar包,hibernate4.2.2开发所使用到的所有jar包

2013-11-11

Struts2.3.15jar包

Struts2.3.15jar包,Struts2开发必备的jar,不包含文档

2013-11-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除