数字化时代背景下的数字孪生技术现状分析

今日的数字化技术正在不断改变每一个公司。将来,全部的公司都将变成数字化的企业,这不只是要求公司开发设计出具有数字化特点的商品,更指的是根据数字化方式改变全部商品的设计、开发、制造和服务全过程,并根据数字化的方式连接公司的内部和外部因素。伴随着商品生命周期的减少、商品定制化水平的提升,以及公司必须同上下游创建起协作的生态环境,都驱使公司不得不采用数字化的方式来加快商品的开发设计,提升开发设计、生产制
分类: 其他 发布时间: 08-05 23:11 阅读次数: 0

LeetCode--19. 删除链表的倒数第N个节点

热门题,难度中等题。给定一个链表,删除链表的倒数第n个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n保证是有效的。很明显,经典的双指针,就算没看过双指针相关,也应该能想到两个遍历下标保持n的距离,当快的到了终点,那么现在的就是要删除的。要注意的一个地方就是养成考虑特殊情况的习惯,删除第一个。删除第一个的话就需...
分类: 其他 发布时间: 08-05 23:11 阅读次数: 0

ubuntu 18 云服务器 创建好支持中文的pycharm远程可视化(可视化部分)

起因是这样的,用Win10,python开发有一个包pip时候报错说win没有bash命令,可是win开启bash后找了很多方法还是没有能导入。于是想着在linux服务器上搞吧。先是在自己的一台centos7云服务器上,自己不知道yum是依赖于py2.7的,看了一个坑爹博主直接给删了py2.7装py3.6。没办法又重装了py2.7,搞pycharm也是,启动错误乱七八糟,我装的是jdk1.8,网上大部分教程是open jdk,可是换了openjdk也打不开pycharm,就说java有错,很迷。一气之下_unbantu下pycharm连接码云
分类: 其他 发布时间: 08-05 23:10 阅读次数: 0

Java笔记2.2--线程之锁的使用

ReentrantLock:控制业务层面的并发。案例:ATM登录,查询,取钱,退出等整个流程只能有一个人操作。class AccountWithLock{ private Lock lock; public AccountWithLock(){ lock = new ReentrantLock(); } //锁账户 public void lockAccount(){ lock.lock(); } //解锁账户
分类: 其他 发布时间: 08-05 23:10 阅读次数: 0

Java笔记2.1--线程之synchronized

要点:1.通过线程内存模型,展示线程安全方面的技能。2.能在面试中说出Synchronized和各种锁的使用要点。3.能在面试中展示各种线程同步和并发技能。3.讲述ConcurrentHashMap对象的底层代码,展示锁,volatile,并发控制和集合方面的技能。public class ThreadSafeDemo { public static void main(String[] args){ List unsafeList = new Array.
分类: 其他 发布时间: 08-05 23:10 阅读次数: 0

Java笔记1.4--设计模式

单例模式:/**\\ * 最简单的单例模式,无法预防多线程时候的错误 */public class SingleModel { private static SingleModel reader = null; private SingleModel(){} public static SingleModel getInstance(){ if (reader == null) return new SingleModel();
分类: 其他 发布时间: 08-05 23:10 阅读次数: 0

Java笔记1.3--异常处理

异常处理:1.finally中放资源回收的代码。(即使try catch中有return还是执行finally,只有system.exit(0),才不执行后面的finally)释放IO连接,数据库连接,对象方法的强引用设为Null,清空clear集合。2.当心runtimeException。常见的runtimeException有空指针异常,除0异常。无需用try catch,一旦发生就终止程序。3.尽可能缩小try的监控范围。如果两个业务没有联系,就不要放在一个try里,要分开4.在
分类: 其他 发布时间: 08-05 23:09 阅读次数: 0

Java笔记1.2--基本的流程控制 方法的覆盖和重载 抽象类抽象方法

流程控制:1.判断。在写if的时候注意多个条件判断时,如果是 && 第一个条件不符合时第二个就不会计算了。2.注意边界问题。3.if过多改写为switch。(必须要有Break,不然会继续执行下一个case)4.switch在jdk1.7之前只支持byte,short,char,int和其对应的封装类。1.8以后加入了枚举,boolean,字符串。覆盖和继承:在继承父类的时候子类重写的函数不能将public重写为private(缩小后会造成父类本该可见的方法不..
分类: 其他 发布时间: 08-05 23:09 阅读次数: 0

Java笔记1.1--ArratList LinkedList hash相关

ArrayListt (数组,满了后扩大空间,x1.5)以下用Array:一次性追加数据,一次性读取。线程不安全LinkedList(双向链表)随机增删查用Link.线程不安全Vector(满了空间x2)线程安全。
分类: 其他 发布时间: 08-05 23:09 阅读次数: 0

Java笔记2.3--ThreadLocal

线程里可以使用定义在主内存里的变量。也能通过ThreadLocal存储线程本地变量。(每一个线程有一个自己的变量,所以不存在多个线程同时对主内存中的一个变量进行访问)用多个线程爬取不同网站,每个线程用自身的ThreadLocal来维护爬取不成功的列表。使用ThreadLocal:class MyThreadLocal{ //定义一个ThreadLocal变量,用来保存当前线程私有数据 private ThreadLocal<Integer> localVal =
分类: 其他 发布时间: 08-05 23:09 阅读次数: 0

java笔记2.4--线程池

可能遇到的问题:1.为什么要用线程池?避免因线程切换造成的性能损耗。2.构造线程池时,你关注哪些参数?3.线程池时如何接受并处理任务的?任务满了以后怎么办?4.在使用线程池时,如何避免OOM异常?基本用法:定义Runnable(没有返回值)或者Callable(可以有返回值)类型的任务创建ThreadPoolExector,注意参数把任务放进线程池运行通过shutdown方法关闭,即不接受新任务,当前线程执行完后退出。class MyThread extends T_java 8 线程池()->{}
分类: 其他 发布时间: 08-05 23:08 阅读次数: 0

Java笔记2.5--线程并发类

1.wait,nofity管理并发2.Condition实现线程间通讯3.Semaphore管理多线程竞争在生产者消费者问题观察wait和notify(//TODO)1.均要放在synchronized作用域中2.执行wait,释放synchronized所关联的锁,进入阻塞状态,无法再次主动进入可执行状态。3.执行notify,通知因调用wait方法而等待锁的线程,如多个线程等待,任意一个被唤醒。4.notifyAll会唤醒因wait进入阻塞状态的线程,但是他们没得到锁,会进行
分类: 其他 发布时间: 08-05 23:08 阅读次数: 0

Java笔记2.6--线程并发深入

1.同步计数器CountDownLatch2.线程通过Callable返回结果,通过Future获取结果3.通过CompletableFuture管理多线程(基于jdk1.8)CountDownLatch:有一个正数计数器。countDown()方法对计数器做减操作。直到所有的计数器归0(或中断或超时),await线程才会继续,否则一直阻塞。能保证以CountDownLatch所标记的前置任务都完成后,主任务再执行。通过Callable类对象得到返回结果。用future得到Calla
分类: 其他 发布时间: 08-05 23:08 阅读次数: 0

Java笔记2.7--ConcurrentHashMap展示并发,集合,源码

jdk1.7和1.8的差别,介绍ConcurrentHashMap通过put 和get源码,了解ConcurrentHashMap的底层结构和hash流程以CAS+Synchronized管理并发的方式实例介绍volatile含义1.引出话题HashMap和线程不安全对象时候并发和volatile时回答数据结构hash表,红黑树等HashMap和SynchronizedMap区别1.jdk1.7以“锁”segment的方式保证并发2.jdk1.8中以“CAS”的方
分类: 其他 发布时间: 08-05 23:08 阅读次数: 0

Java笔记3.1--关于String的JVM问题

从String入手,了解不可变类的技能从常量和变量角度,入门JVM里的堆和常量池从String角度,分析JVM性能调优的措施常量和变量:equals比较值,==比较地址new出来的是变量常量可以共享内存,变量不会常量连接还是常量,有变量参与是变量public class StringDemo { public static void main(String[] args){ String a = abc; String b =
分类: 其他 发布时间: 08-05 23:07 阅读次数: 0

Java笔记3.2--GC流程理解

字节码和跨平台特性:.class格式的字节码形式运行虚拟机可以屏蔽不同操作系统的差异JDK是开发环境,JRE是运行环境JRE中包括了Java虚拟机和Java程序运行时所需的核心类库虚拟机结构:JVM栈是现成私有的堆区存放new出来的对象,jdk1.8中常量池和静态变量存在堆区元数据存在本地内存垃圾回收时的分代管理:jdk1.8中,元数据区替代持久代类的信息和编译后的代码数据等放元数据区JVM内存调优是针对堆区而言,再进一步是针对年轻代和年老代虽然J
分类: 其他 发布时间: 08-05 23:07 阅读次数: 0

Java笔记3.3--代码级别优化内存性能

Java代码出现内存泄漏:1.对象上有强引用2.虽然Java程序运行完后内存会回收,但是越早越好3.出现内存泄漏后,会导致Stop The World(一段时间内虚拟机什么也不做,单纯内存回收)和OOM异常深入了解finalize方法:1.object类的方法,任何类都可以重写2.当JVM通过根可达算法,判断某对象可以被回收后,会判断是否重写了fialize方法,如果没有,直接回收3.如果重写了,把该对象放入F-Queue队列,有线程专门遍历并执行该类的finalize方法
分类: 其他 发布时间: 08-05 23:07 阅读次数: 0

Java笔记3.4--软引用弱引用在JVM中调优

定义:强引用:new出来的,比如String str = new String(“hello”)。对象上有强引用不会被回收。软引用:SoftReference<String> softRef = new SoftReference<String>(str);(其中str是引用)。如果只有软引用,而且当虚拟机堆内存不够时候会回收。弱引用:WeakReference<String> weakRef = new WeakReference<String>
分类: 其他 发布时间: 08-05 23:07 阅读次数: 0

Java笔记3.5--内部匿名类形参加final

jdk1.7以及之前,内部匿名类形参前都要加final。jdk1.8不需要,隐性加上了。jdk1.7以及之前:内部匿名类形参前加final,否则报错。内部类和外部类是平行的,没有隶属关系。外部类有可能会优先于内部类回收,如果不加final,参数就会被回收,导致于内部类无法使用。加final后,以常量方式存储在常量池,不是在堆中,所以外部类回收后该参数依然存在。引出话题:在回答final方法的用途时候可以说明。被问到内部类时候可以说明。项目中在消息模块或者其他模块用到线程池
分类: 其他 发布时间: 08-05 23:06 阅读次数: 0

Java笔记3.5--定位排查OOM

什么时候该排查:1.GC过程中,会Stop the World,不干其他活2.本该运行好的程序,在某个时刻卡住,业务日志没有异常3.通过CAT等监控工具,发现某段时间内存用量居高不下上线后一般接CAT等监控工具,监控内存。如果超出阈值,发出一报警邮件。4.稳定重现OOM,比如一天一次,或者每天频繁出现通过GC日志确认:1.能看到GC发生时间和回收的内存量。2.结合卡的时间点,确认是因为GC造成Stop the World。3.可定量观察到GC的频繁程度通过代.
分类: 其他 发布时间: 08-05 23:06 阅读次数: 0