Java
文章平均质量分 82
Henry_Lin_Wind
这个作者很懒,什么都没留下…
展开
-
the desired address is beyond limit for this PLC
问题描述:通过 Java连接西门子PLC(S7-1200)学习中,出现错误:the desired address is beyond limit for this PLC下面是测试代码 S7Connector connector = S7ConnectorFactory .buildTCPConnector() .withHost("192.168.0.195") .withPo原创 2022-05-14 20:08:16 · 1690 阅读 · 2 评论 -
Json (JsonObject、JsonArray)
什么是JSON?JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度。Json与XML的比较XML的结构:倒立的树形结构<people> <person id="1"> <name>张三</name&g...原创 2018-10-24 16:49:36 · 2282 阅读 · 1 评论 -
nginx 日志解析
设置nginx日志格式默认变量格式:log_format combined '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"';$remote_addr变量:记录了客户端的IP地址(普通情况下)。$remote_user变量:当nginx开启了用户认证功能后,此变量记录了客户端使用了哪个用户进行了认证。$time_l原创 2020-06-24 15:39:00 · 12703 阅读 · 1 评论 -
分布式锁 redis
import org.redisson.Redisson;import org.redisson.api.RLock;import org.redisson.config.Config;import java.util.concurrent.CountDownLatch;import java.util.concurrent.TimeUnit;public class Test { private static CountDownLatch finish = new CountD..原创 2020-05-19 17:07:29 · 232 阅读 · 0 评论 -
如何让 10 个线程按照顺序打印 0123456789
如何让 10 个线程按照顺序打印 0123456789? 设定一个 orderNum,每个线程执行结束之后,更新 orderNum,指明下一个要执行的线程。并且唤醒所有的等待线程。 在每一个线程的开始,要 while 判断 orderNum 是否等于自己的要求值!!不是,则 wait,是则执行本线程。 w...原创 2020-01-13 09:16:36 · 1825 阅读 · 0 评论 -
ForkJoin 并发
分治,顾名思义,即分而治之,是一种解决复杂问题的思维方法和模式;具体来讲,指的是把一个复杂的问题分解成多个相似的子问题,然后再把子问题分 解成更小的子问题,直到子问题简单到可以直接求解。Java并发包里提供了一种叫做Fork/Join的并行计算框架,就是用来支持分治这种任务模型的。如何用Fork/Join 并行计算框架计算斐波那契数列 f(n)=f(n-1)+f(n-...原创 2020-01-06 14:31:07 · 1202 阅读 · 0 评论 -
并行多线程任务的创建
对于简单的并行任务,你可以通过“线程池+Future”的方案来 解决;如果任务之间有聚合关系,无论是AND聚合还是OR聚合,都可以通过CompletableFuture来解决;而 批量的并行任务,则可以通过CompletionService来解决线程池+Future // 线程池private static ExecutorService myExecutor = Exe...原创 2020-01-02 09:52:13 · 1410 阅读 · 0 评论 -
线程和线程池的创建及使用
三种创建线程的方法一、通过继承 Thread 类本身public class MyThread extends Thread { @Override public void run(){ super.run(); System.out.println("执行子线程..."); }}public class Test {...原创 2019-12-30 16:39:33 · 1998 阅读 · 0 评论 -
死锁检查和查看
只有以下这四个条件都发生时才会出现死锁: 1. 互斥,共享资源 X 和 Y 只能被一个线程占用; 2. 占有且等待,线程 T1 已经取得共享资源 X,在等待共享资源 Y 的时候,不释放共享资源 X; 3. 不可抢占,其他线程不能强行抢占线程 T1 占有的资源;4. 循环等待,线程 T1 等待线程 T2 占有的资源,线程 T2 等待线程 T1 占有的资源,就是循环等 待。 ...原创 2019-12-05 17:16:58 · 1302 阅读 · 0 评论 -
Java 克隆 (浅克隆/深克隆)
Java中对象的克隆1.为了获取对象的一份拷贝,我们可以利用Object类的clone()方法2.在派生类中覆盖基类的clone()方法,并声明为public3.在派生类的clone()方法中,调用super.clone()4.在派生类中实现Cloneable接口public class User implements Cloneable { private Stri...原创 2019-07-26 17:19:57 · 1098 阅读 · 0 评论 -
java反序列化 (PHPSerializer 序列化的对象)
java反序列化php序列化的对象1、原始数据为一个字符串2、原始数据为一个对象3、原始数据为一个集合(List 或Map)1、反序列化为java字符串s:21:"这是一个字符串";String str = "s:21:\"这是一个字符串\"";PHPSerializer phpSerializer = new PHPSerializer();Object o...原创 2019-04-07 18:18:25 · 2944 阅读 · 0 评论 -
字符串的提取,替换 (正则表达式、Pattern 和 Matcher )
在学习调用第三方短信平台发送短信的时候,生成短信日志需要对发送的参数做提取和替换的处理。这就涉及到字符串的搜索和匹配以及替换。对调用第三方短信平台发短信有兴趣的可以参考我博文。网易云通信:https://blog.csdn.net/Henry_Lin_Wind/article/details/88190605阿里大于:https://blog.csdn.net/Henry_Lin_Win...原创 2019-03-18 16:23:29 · 2587 阅读 · 0 评论 -
类的初始化(深入理解)
学习Java,对类的加载和初始化的全过程有一定的了解,对所发生的一切有全局性的把握,是有益的。首先明确一点,要使用一个类,这个类必须被加载。要创建并使用这个类的对象,就必须初始化对象。1、无继承关系的类是如何初始化的 以 Mamml 类为例子,其包含 static域和 非static域以及构造器。如下,创建一个Mammal的实例。public class Mammal ...原创 2018-11-07 18:32:29 · 1498 阅读 · 0 评论