代码生成工具类 setServiceName("%sService") // 设置生成的service接口的名字的首字母是否为I,加%s则不生成I。.setInclude(scanner("请输入表名(多个以英文逗号隔开):").split(",")).setModuleName(scanner("模块名"));//.setTablePrefix(tablePrefix) //表前缀。
记录仿钉钉审批流(将MySQL换成Oracle)走过的坑 这里在说说其他坑,如果只传输dingding.sql中的六张表到Oracle中,其他表等启动项目自动创建,但是这里依旧报错(如不能创建 ACT_GE_PROPERTY),网上找了很久也没找到解决方案(URL后面加参数nullCatalogMeansCurrent=true也没解决)如果是MySQL,插入时ID会自增,但是Oracle好像没有,这里我也不太清楚,我也很少使用Oracle。项目中也先用MySQL,启动项目,项目启动成功后,数据库中一共有38张表。这个项目作者引入的Oracle 驱动依赖版本为。
奇怪,为什么ArrayList初始化容量大小为10? 看ArrayList源码时,无意中看到ArrayList的初始化容量大小为10,这就奇怪了!我们都知道ArrayList和HashMap底层都是基于数组的,但为什么ArrayList不像用HashMap那样用16作为初始容量大小,而是采用10呢?
Java 集合基础面试题(高频) 因为红黑树节点的大小是普通节点大小的两倍,所以为了节省内存空间不会直接只用红黑树,只有当节点到达一定数量才会转成红黑树,这里定义的是 8。为什么是 8 呢?这个其实 HashMap 注释上也有说的,和泊松分布有关系,这个大学应该都学过。简单翻译下就是在默认阈值是 0.75 的情况下,冲突节点长度为 8 的概率为 0.00000006,也就概率比较小(毕竟红黑树耗内存,且链表长度短点时遍历的还是很快的)。
C# 发送邮件 / MessageSent事件里可以通过args参数,获得服务器的响应信息,以便于记录Log。// 1. 注册邮件发送成功之后的事件,比如记录log。// 添加附件,需带完整路径或者相对路径。// 2. 连接服务器。// 4. 发送邮件。// 邮件正文两种形式。// 添加收件人信息。// 1. 不带附件。
谷粒商城错误总结 6. P22:写完远程调用接口后,启动 GulimallMemberApplication 报 Error creating bean with name 'memberController'(参考:https://blog.csdn.net/youranswera/article/details/124663728)3.P17:用逆向工程生成代码时,注释 @RequiresPermissions("${moduleName}:${pathName}:list")(老师事后才讲,浪费很多时间)
Java虚拟机内存模型 4、方法信息包括方法名称名称、返回类型、方法参数、方法修饰符、方法字节码、操作数栈和方法帧栈的局部变量区大小以及异常表。相应的,方法的返回则表示栈帧的出栈操作。如果方法调用时,方法的参数和局部变量相对较多,那么栈帧中的局部变量表就会比较大,栈帧会膨胀以满足方法调用所需传递的信息。方法区也是 JVM 内存区中非常重要的一块内存区域,与堆空间类似,它也是被 JVM 中所有的线程共享的。Java虚拟机栈也是线程的私有空间,它和Java线程在同一时间创建,它保存方法的局部变量、部分结果,并参与方法的调用和返回。
火狐浏览器在看B站视频(全屏)和(退出全屏)时会黑一下屏幕 在地址栏下方的搜索栏中输入:“full-screen-api.transition-duration”,首选项中出现两项设置,分别双击并把数值修改为“0 0”(注意中间空格,原本默认是“200 200”)。PS:如果要关闭全屏提示,搜索“full-screen-api.warning.timeout”,把原本的“3000”改为"0"即可。在浏览器地址栏输入:“about:config”(不包含引号,下同) 并回车,然后点击“我知道了”,可以进入高级设置界面。全屏和退出全屏的动画就关闭了。
c#调用excel模板页,然后套用模板页导出多个sheet IAuditReportAppService层。AuditReportAppService层。DownloadExeclCommand层。Controller层。Excel表导出效果。
VMware 复制已有的虚拟机并修改IP地址 (注意:由于slave2是克隆出来的 因此它的ip和mac地址与原来的机器一模一样 ip地址可以直接修改成一个新的地址 但是mac地址不建议手动修改 而应该由系统自动生成具体操作方法如下)第三步:启动新克隆的虚拟机 修改主机名 如 hostname slave2。重启网卡(systemctl restart network)第二步:在VMware中右键要克隆的机器 选择管理-->克隆。第四步:修改克隆的虚拟机的ip地址和mac地址。视频链接(友情提示:请定位到12分钟处)再次查看IP(ip addr)
Synchronized&CAS原理: 如果这个对象没被锁定,或者当前线程已经拥有了那个对象锁,把锁的计算器加1,相应的,在执行monitorexit指令时会将锁计算器就减1,当计算器为0时,锁就被释放了。悲观锁是将资源锁住,等一个之前获得锁的线程释放锁之后,下一个线程才可以访问。指令执行时,monitor的进入数减1,如果减1后进入数为0,那线程退出monitor,不再是这个monitor的所有者。1、如果monitor的进入数为0,则该线程进入monitor,然后将进入数设置为1,该线程即为monitor的所有者。
尚硅谷-分布式锁 在应用开发中,特别是web工程开发,通常都是并发编程,不是多进程就是多线程。这种场景下极易出现线程并发性安全问题,此时不得不使用锁来解决问题。在多线程高并发场景下,为了保证资源的线程安全问题,jdk为我们提供了synchronized关键字和ReentrantLock可重入锁,但是它们只能保证一个工程内的线程安全。在分布式集群、微服务、云原生横行的当下,如何保证不同进程、不同服务、不同机器的线程安全问题,jdk并没有给我们提供既有的解决方案。此时,我们就必须借助于相关技术手动实现了。目前主流的实现有以下方式
学习JMM 协议很多intel 用MESI现代CPU的数据一致性实现 = 缓存锁(MESI …) + 总线锁读取缓存以cache line为基本单位,目前64bytes位于同一缓存行的两个不同数据,被两个不同CPU锁定,产生互相影响的伪共享问题伪共享问题:JUC/c_028_FalseSharing使用缓存行的对齐能够提高效率。
【尚硅谷】分布式锁全家桶 性能:一个sql > 悲观锁 > jvm锁 > 乐观锁如果追求极致性能、业务场景简单并且不需要记录数据前后变化的情况下。 优先选择:一个sql如果写并发量较低(多读),争抢不是很激烈的情况下优先选择:乐观锁如果写并发量较高,一般会经常冲突,此时选择乐观锁的话,会导致业务代码不间断的重试。 优先选择:mysql悲观锁不推荐jvm本地锁。Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。设计目的。
学习马士兵教育 GC and Tuning C语言申请内存:malloc freec/C++ 手动回收内存Java: new?忘记回收多次回收没有任何引用指向的一个对象或者多个对象(循环引用)根据需求进行JVM规划和预调优优化运行JVM运行环境(慢,卡顿)解决JVM运行过程中出现的各种问题(OOM)
java面试简历 熟悉 JavaSE 基础知识,拥有面向对象分析和设计能力、熟悉集合类、反射等,具备良好的编程思想。熟悉Spring、SpringMVC、Mybatis、MybatisPlus等主流框架。熟悉JVM相关原理,包括垃圾回收算法及其垃圾收集器、类加载机制、常见的JVM调优参数。熟练使用IDEA、Postman、VSCode、Git、Jmeter等开发构建工具。熟悉Java并发编程,对java的锁机制、线程池机制、CAS等都有了解。熟悉Redis数据库,对持久化机制、缓存穿透、缓存雪崩有了解。