- 浏览: 100036 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (48)
- ruby (7)
- scala (1)
- java (11)
- jython (1)
- python (1)
- life (0)
- jruby (1)
- javascript (1)
- 翻译 (0)
- lua (2)
- SUSE (1)
- scheme (6)
- amb (1)
- 编译器 (0)
- javaee (1)
- 分布式 (0)
- 并发 (1)
- 杂感 (1)
- IO (0)
- POJO (0)
- EJB (0)
- concurrent (0)
- 算法 (1)
- ibm (0)
- JNI (0)
- AOP (0)
- asm (0)
- Groovy (1)
- agent (0)
- instrument (0)
- manifest (1)
- classloader (0)
- jboss (0)
- code (0)
- OSGI (0)
- 庄子 (0)
- JTA (0)
- SA (1)
- clojure (0)
- collections (0)
- hotswap (0)
- 序列化 (0)
- CORS (0)
- 停机 (0)
- JVM (0)
- parallel (0)
- NIO (0)
- weblogic (0)
- transaction (1)
- 反思 (1)
- 事务 (1)
- 海量数据 (0)
- JDO (0)
- JPA (0)
- storm (0)
- log4j (0)
- java2d (0)
- btrace (0)
- hadoop (1)
- cygwin (1)
- sshd (1)
- wanlu (0)
- mysql (0)
- debug (0)
- autotest (0)
- Error (0)
- 数据结构 (0)
- descriptor (0)
- jdb (0)
- hsdb (0)
- wiki (0)
- maven (0)
- spring (0)
- eclipse (0)
- mvc (0)
- 代理 (0)
- oracle (0)
- hibernate (1)
- Hash (0)
- blockingqueue (0)
- remember (0)
- graphviz (0)
- http (0)
- post (0)
- jdbc (0)
- websocket (0)
- inter (0)
- got error: The Network Adapter could not establish the connection when creating a data source in Weblogic pointing to a Oracle database (1)
- bug (0)
- xml (0)
- mail (0)
- db (0)
- JAXB (0)
- StAX (0)
- google (0)
- haskell (1)
- rpc (0)
- read-code (0)
- spring-cloud (0)
- service-registry-discovery (0)
最新评论
-
IamSungod:
很有探索精神,学过多种编程语言呀
clojure parse xml -
messi_18:
是的。不知道别的平台是否也有类似问题。
scalatest 尝试(一) -
llh110220:
lz在windows下编写的吧
scalatest 尝试(一)
volatile reference和atomic reference的作用有何不同?
通过查阅AtomicReference的代码发现,它内部是基于volatile的field来存储reference。所以,它具备volatile的功能。如果,只是想解决“可见性”,直接用AtomicReference的get和set方法就相当于volatile的作用。但是,volatile无法保证多个线程写入不相互覆盖的问题。
怎么解决呢?加锁。这个谁都知道。不加锁呢?就可以用AtomicReference提供的CAS方法compareAndSet(expected,actual)。如果volatile域的值等于expected那么就用actual去更新然后返回true,否则返回false。
所以,常见的变成模式是用一个循环(比如volatile域是数组):
通过查阅AtomicReference的代码发现,它内部是基于volatile的field来存储reference。所以,它具备volatile的功能。如果,只是想解决“可见性”,直接用AtomicReference的get和set方法就相当于volatile的作用。但是,volatile无法保证多个线程写入不相互覆盖的问题。
怎么解决呢?加锁。这个谁都知道。不加锁呢?就可以用AtomicReference提供的CAS方法compareAndSet(expected,actual)。如果volatile域的值等于expected那么就用actual去更新然后返回true,否则返回false。
所以,常见的变成模式是用一个循环(比如volatile域是数组):
private AtomicReference<int[]>items=new AtomicReference(); public void add(int item){ int[] copy = items.get(); // get copy while(true) { int[] updated=Arrays.copyOf(copy,copy.length+1); updated[updated.length-1]=item; if(items.compareAndSet(copy,updated)){ return; } } }
发表评论
-
java.lang.ClassNotFoundException: javax.mail.internet.MimeMessage
2013-06-27 16:27 0Today when I try to send mail b ... -
java exchanger
2013-06-19 15:54 0Today focus on: multi-thread in ... -
java blocking queue performance issue when large concurrency
2013-05-16 15:35 0I recalled someone ask me a que ... -
发现了几篇关于java虚拟机的好文章,要好好消化一下
2013-04-19 15:49 0好久没有关注jvm了,今天翻到了几篇好文章。先记下,有时间消化 ... -
Java Endorsed Standards Override Mechanism
2013-04-18 17:56 0Today I read an article named & ... -
java.lang.LinkageError
2012-12-11 14:13 0今天遇到了一个问题java.lang.IllegalAcces ... -
管理log插入。比如编译时插入。
2012-11-20 20:51 0管理log插入。比如编译时插入。 萌发这个想法是因为每次,调试 ... -
java解惑44题没重现
2012-11-09 02:18 0java解惑第44题我没有重现。 jdk1.6.0_35 ... -
java2d学习
2012-11-07 00:37 0想要系统的学习一下java2d 第一步学习画阿基米德螺旋曲线。 ... -
ASM初探
2012-11-02 00:38 0今天遇到了一个问题。Log4J的config and watc ... -
String.split
2012-10-31 21:02 870String.split(String reg)这个方法一点不 ... -
mina,hbase,zookeeper
2012-10-26 22:49 0我要学习探索新知识的有效手段。从这两个开始吧。 -
log4j那些事儿
2012-10-25 19:31 0都知道Log4j是用来输出日志的框架。不怕笑话,我一直都知道它 ... -
storm是什么
2012-09-28 16:49 0storm是什么?需要研究一下。 https://github ... -
你知道吗,-Long.MIN_VALUE == Long.MIN_VALUE
2012-09-20 22:58 3318相信吗,-Long.MIN_VALUE == Long.MIN ... -
transaction in JAVAEE and Spring
2012-09-14 19:16 0XA transaction and local transa ... -
weblogic 数据源的事务管理
2012-09-14 01:50 0有这样一个case,在weblogic下配置了两个数据源,其中 ... -
java NIO
2012-09-13 16:52 0由这篇文章想到了NIO。 然后又提到了这篇文章。 -
java 并发与并行(Java concurrent and parallel)
2012-09-13 16:19 0起因是想知道BlockedQueque是干嘛的,接着想到了这篇 ... -
java 序列化框架
2012-09-12 19:04 0读了这篇文章解开 phprpc 序列化性能高于 hessian ...
相关推荐
在并发安全方面,Java的synchronized关键字、volatile变量、final字段以及Atomic类提供了多种锁和同步机制。此外,Java的内存模型涉及到可见性、有序性和原子性,是并发编程中的重要概念。 最后,Java还提供了反射...
private volatile static SingleTon4 instance = null; private SingleTon4() {} public static SingleTon4 getInstance() { if (instance == null) { synchronized (SingleTon4.class) { if (instance == ...
Contents Contents ii List of Tables x List of Figures xiv 1 Scope 1 2 Normative references 2 3 Terms and definitions 3 4 General principles 7 4.1 Implementation compliance . ....4.2 Structure of this ...
GIB 8114的规则,检测器,checker
Con北京站聚焦技术落地与前沿趋势,核心方向包括: AI工程化:端侧推理、RAG增强、多模态生成成为主流; 云原生深水区:混合云治理、湖仓一体架构、可观测性技术持续迭代; 安全与效能:大模型安全防御、研发流程标准化、平台工程价值凸显; 行业融合:物流、金融、社交等领域的技术跨界创新案例丰富。 大会为开发者提供了从理论到实践的全景视角,推动技术向生产力转化。
shotcut22.06.23
Con北京站聚焦技术落地与前沿趋势,核心方向包括: AI工程化:端侧推理、RAG增强、多模态生成成为主流; 云原生深水区:混合云治理、湖仓一体架构、可观测性技术持续迭代; 安全与效能:大模型安全防御、研发流程标准化、平台工程价值凸显; 行业融合:物流、金融、社交等领域的技术跨界创新案例丰富。 大会为开发者提供了从理论到实践的全景视角,推动技术向生产力转化。
内容概要:本文详细介绍了利用MATLAB/Simulink构建的电动汽车转弯制动模型,该模型集成了防抱死系统(ABS)和直接横摆力矩控制(DYC)。模型采用7自由度设置,涵盖车身纵向、横向、横摆运动以及四个车轮的旋转自由度。文中重点讨论了轮胎魔术公式的实现、滑移率观测器的设计、滑模控制的应用及其参数调试,并展示了双移线工况下的仿真结果。结果显示,在启用联合控制系统后,车身横摆角显著降低,制动距离缩短,证明了系统的有效性。 适合人群:从事汽车电子控制、自动驾驶技术研发的工程师和技术爱好者。 使用场景及目标:适用于研究电动汽车在极端驾驶条件下(如急转弯、紧急制动)的安全性和稳定性控制策略。目标是提高车辆操控性能,确保行驶安全。 其他说明:建议读者关注模型中的关键参数选择和调试技巧,尤其是轮胎模型参数、滑模控制参数以及电机响应延迟等方面的内容。此外,模型提供了丰富的参考资料,便于深入理解和优化控制算法。
3dmax插件
内容概要:本文介绍了一个基于PyTorch框架的MobileNetV1-UNet图像分割项目,涵盖了从模型构建、训练到预测的完整流程。该项目利用MobileNetV1的深度可分离卷积作为编码器,结合UNet的经典跳跃连接进行解码,实现了轻量级且高效的语义分割。项目中包含了详细的代码实现,如深度可分离卷积、解码器模块、训练脚本、预测脚本以及数据预处理方法。此外,还介绍了如何应对数据集不均衡的问题,优化训练过程,并提供了一些实用的小技巧,如动态学习率调整、数据增强和后处理方法。最终,项目在街景分割任务中表现出色,能够在较低硬件配置下实现高速推理。 适合人群:具有一定深度学习基础的研究人员和开发者,特别是对图像分割感兴趣的从业者。 使用场景及目标:适用于需要快速搭建图像分割系统的场景,如医疗影像分析、自动驾驶、安防监控等领域。目标是帮助用户快速上手并应用于实际项目中,提高开发效率。 其他说明:项目已准备好完整的数据集和预训练模型,用户只需解压即可开始训练和预测。代码经过精心优化,在常见GPU上能够稳定运行,适合初学者和有一定经验的开发者使用。
内容概要:本文详细介绍了信捷触摸屏与士林变频器通过Modbus RTU协议进行通讯的方法和注意事项。首先,强调了正确的硬件接线方法,如使用双绞线并在适当情况下增加120Ω终端电阻。其次,详细解释了参数配置的具体步骤,包括波特率、站号、数据格式等设置。接着,提供了读写频率和其他重要参数的代码实现,并指出了常见的地址偏移和数据格式转换问题。最后,针对通讯超时等问题提出了具体的排查方法和解决方案。 适合人群:从事工业自动化领域的工程师和技术人员,尤其是那些负责触摸屏与变频器通讯调试工作的人员。 使用场景及目标:帮助工程师快速定位和解决信捷触摸屏与士林变频器之间的通讯问题,提高工作效率,减少调试时间和成本。 其他说明:文中还提供了一些实用的小技巧,如使用Modscan工具进行初步测试,以及通过报文抓取法分析通讯数据,有助于更好地理解和解决问题。
Delphi 12.3控件之TextShaping4Delphi-main.zip
内容概要:本文详细介绍了使用LabVIEW 2018构建一个纯软件波形发生器的方法。该波形发生器能够生成四种基本波形(正弦波、方波、三角波、锯齿波),并且可以通过参数设置进行实时调整。此外,还可以向波形中加入噪声,模拟真实环境中的信号。文中详细解释了波形生成的核心算法、噪声叠加的技术细节以及波形显示的优化方法。通过事件结构和生产者-消费者模式实现了高效的参数联动和实时波形更新。 适合人群:对LabVIEW有一定了解的工程师和技术爱好者,尤其是从事信号处理和仿真工作的专业人士。 使用场景及目标:适用于需要生成各种波形用于实验、教学或产品研发的场合。主要目标是帮助用户掌握LabVIEW中波形生成的基本原理和技术细节,提高波形生成的灵活性和实用性。 其他说明:文中提供了许多调试经验和优化技巧,如参数联动、噪声合成、波形图刷新等方面的注意事项,有助于用户更好地理解和应用LabVIEW进行波形生成。
内容概要:本文详细介绍了基于Lattice MachXO3LF-690 FPGA的MIPI相机系统的实现,涵盖MIPI CSI-2接收、Debayer转换、RGB转YUV以及USB3.0 UVC传输等多个关键技术环节。首先,MIPI CSI-2接收部分通过状态机解析RAW10数据流并进行字节对齐,确保数据正确传输。其次,Debayer模块采用梯度插值法和乒乓缓存结构,优化资源利用率并提高处理速度。接着,RGB转YUV模块使用定点数运算代替浮点运算,减少逻辑资源消耗。最后,FX3014的UVC传输部分实现了动态帧率控制和带宽管理,确保不同分辨率下的稳定传输。文中还分享了多个调试经验和优化技巧,如动态FIFO控制、帧率控制策略等。 适合人群:具备一定FPGA开发经验的工程师和技术爱好者,特别是对图像处理和高速数据传输感兴趣的读者。 使用场景及目标:适用于希望深入了解FPGA图像处理流程的技术人员,帮助他们掌握从传感器数据接收、图像处理到USB传输的全流程实现方法,提升系统性能和稳定性。 其他说明:文中提供了详细的Verilog代码片段和架构图解,便于读者理解和实践。此外,还提到了一些常见的调试问题及其解决方案,有助于加速项目开发进程。
内容概要:本文详细介绍了使用LabVIEW开发的一个多设备并行控制系统,主要应用于工业自动化领域。系统能够同时控制六台烘干设备,并支持不停机扩展新设备。核心技术包括利用子面板(Subpanel)实现动态加载设备界面,通过Modbus TCP/IP协议与PLC通信,以及采用事件结构实现控制权切换等功能。文中还分享了一些调试经验和性能优化技巧,如内存管理和通信稳定性等方面的问题及其解决方案。 适合人群:对LabVIEW编程有一定基础,从事工业自动化控制系统的开发人员和技术爱好者。 使用场景及目标:适用于需要在同一上位机上同时监控和控制多台设备的应用场合,旨在提高操作效率,减少人工干预,确保系统稳定性和扩展性。 其他说明:文中提到的一些具体实现细节和技术难点对于理解和掌握LabVIEW编程非常有帮助,尤其是关于多实例并行处理的部分。此外,作者还提到了一些常见的错误案例及其修正方法,有助于读者规避类似问题。
1.6 技能提升:设计一份个人简历.rp
内容概要:本文详细介绍了如何在MATLAB/Simulink环境中对交直流微电网进行仿真,涵盖了光伏、风机和蓄电池的建模方法及其在不同运行模式下的控制策略。具体包括光伏系统的MPPT控制、风机的变桨距控制、蓄电池的充放电管理、并离网切换的逻辑控制以及虚拟同步发电机技术的应用。通过这些仿真实验,可以深入理解微电网的工作原理和技术难点,为实际工程应用提供了宝贵的参考。 适合人群:从事电力系统、新能源技术和自动化控制领域的研究人员和工程师,尤其是对微电网仿真感兴趣的初学者和有一定经验的研发人员。 使用场景及目标:适用于高校科研项目、企业技术研发部门等场合,旨在帮助用户掌握微电网仿真技术,优化系统设计,提高微电网的稳定性和可靠性。 其他说明:文中提供了大量具体的MATLAB/Simulink代码示例,便于读者理解和实践。同时,作者分享了许多个人经验和调试技巧,有助于解决常见问题,提升仿真的成功率。
3dmax插件
内容概要:本文详细介绍了利用一阶RC模型结合带遗忘因子的递推最小二乘(FFRLS)和扩展卡尔曼滤波(EKF)算法,在Matlab中实现电池SOC(荷电状态)的在线联合估计。首先,FFRLS用于实时更新电池模型参数(如R0、R1、C1),以适应电池老化和时变特性。接着,EKF用于精确估计SOC,通过OCV-SOC曲线和状态方程进行预测和更新。文中还讨论了参数初始化、采样周期设置、温度补偿以及常见错误避免等问题,并提供了详细的代码片段和调试建议。 适合人群:从事电池管理系统研究与开发的技术人员,尤其是有一定Matlab编程基础的研究人员。 使用场景及目标:适用于电动汽车、储能系统等领域,旨在提高电池SOC估计精度,确保电池安全高效运行。具体目标包括降低SOC估计误差、增强算法鲁棒性和适应不同工况条件。 其他说明:文章强调了参数估计和状态估计之间的相互影响,提出了双线程配合的工作方式。此外,还分享了一些实践经验,如参数初始化、采样周期的选择、温度补偿等,帮助读者更好地理解和应用这一方法。
AI基础大模型 单模态向多模态发展:AI从单一类型的输入(如文本)转向能够处理多种类型的数据(如文本、音频、图像和视频)。 具体应用实例: ChatGPT实现了类似人类的文本交互能力。 Midjourney AIGC画作《太空歌剧院》获得艺术比赛冠军。 阿里云I2VGen-XL模型可以从一张图片生成高清视频。 行业+AI 报告指出AI正在加速多个行业的智能化升级,包括金融、医疗、智能制造、司法、汽车、气象等领域,并列举了具体的案例和成就,例如药物研发周期的显著缩短和工业质检准确率的提升。 数据预处理与模型训练 强调了数据预处理在AI模型训练中的重要性,并指出现有分布式文件系统在可扩展性和低延迟方面面临的挑战。 提出了解决方案,如以数据为中心的执行模式和诸葛弩大数据处理引擎的设计理念,旨在降低数据处理开销和提高效率。 国产算力的发展 报告提到中国AI内循环加速的到来,强调了国家力量在推动智能计算中心建设方面的角色,并设定了国产算力使用占比的目标,如上海到2025年新建智算中心国产算力使用占比超50%。 大规模模型训练技术 描述了“八卦炉”等支撑国产AI算力的基础软件集的发展情况,以及它们如何支持大规模模型训练任务,包括北京智源研究院悟道2.0、阿里巴巴M6大模型等。 总结 报告展示了AI大模型技术的进步如何推动各行业变革,同时提出了面对的技术挑战和解决方案,特别是针对国内算力的发展方向和策略。通过这些进展,可以看出AI不仅改变了传统行业的工作方式,还为科学研究提供了新的工具和方法。