首页
学习
活动
专区
工具
TVP
发布
您找到你想要的搜索结果了吗?
是的
没有找到

Java 导出Excel增加下拉框选项

excel对于下拉框较多选项的,需要使用隐藏工作簿来解决,使用函数取值来做选项 选项较少(一般少于5个): private static DataValidation setFewDataValidation...sheetHidden.createRow(j).createCell(index).setCellValue(dataList.get(j)); //设置对应单元格的值 } } } index 代表第几个下拉框...,也就是在隐藏工作簿的第几列,dataList表示下拉框的内容 创建公式: String strFormula = “Sheet2!...$” + arr[index] + “$1:$” + arr[index] + “$” + dataList.size(); Sheet2第A1到A5000作为下拉列表来源数据 xls和xlsx生成下拉框的选项不一样..."); dataValidation.createPromptBox("提示", "只能选择下拉框面的数据"); return dataValidation; } 加入工作簿: sheet.addValidationData

1.2K20

如何打开win10面的ubuntu系统

这估计是很多极客弃离windows,选择使用mac或者linux桌面的原因。但mac贵,所以没有钱又不堪windows流氓软件烦扰的穷极客(比如一番)便热衷使用ubuntu桌面系统。...因为大多数朋友使用的都是windows系统,想要使用这个工具只能重新安装ubuntu系统或者在vmware、vbox安装虚拟机来运行程序。...开启“适用于Linux的Windows子系统” 如下图,依次点击:开始(windows)→设置→应用和功能→程序和功能→启用或关闭Windows功能→适用于Linux的Windows子系统,选中前面的选择框既可...开启“开发人员模式” 如下图,依次点击:开始(windows)→设置→更新和安全→开发者选项→开发人员模式,点击前面的单选框即可。 ? 3....在win10运行ubuntu系统 安装成功后便可在开始菜单向打开一个应用一样打开ubuntu的运行环境。我们便有了一个windows下运行ubuntu的环境了。

6.7K20

聊聊Java面的引用传递

只有认清了Java里面存在指针,承认指针,我们才能更加自信的理解Java语言。...注意这个异常,叫空指针异常,在Java里面任何对象没有初始化的时候,如果我们使用其内部属性,就会抛出上面的信息,这也从侧面反映了dog这个变量的作用,其实就是指针,而并非引用。...你可能要说很简单啊,方法里面的作用域,只在方法生效,出了方法就无效了。真的是这样吗?...new Dog("CAT"); dog.name="cat"; } 在第2.1步,我们通过dog指针=7777的数据,重新改变了其名称,这意味着内存地址7777的数据,被修改了,后面的两行改的是内存地址...所以,这个时候如果按照值传递(指针传递)的理解,来看上面的例子,你就会恍然大悟。

70910

理解Java面的代理模式

Java面的代理 在Java里面总体上有三种代理实现: (1)静态代理 例子如下: 定义一个接口 public interface Animal { public String run();...",12); map.get("1"); map.size(); } 然后,我们就能感受它的强大之处,只要是有接口声明的类,都可以采用这个方法来统计耗时,比如上面的...3.2.8 动态代理原理分析 代理模式的技术核心有三点: (1)动态字节码生成 (2)动态字节码类的装载 (3)反射调用真实角色的方法 理解了上面的内容学习代理模式就非常容易...,先从JDK动态代理说起,前面说到JDK动态代理的会在运行时生成接口的实现类,并且该实现类会继承Proxy类,所以也注定了JDK动态代理只能代理接口不能代理类,因为Java不支持多继承,在使用的时候我们执行方法调用会从代理角色经过...总结 本文主要介绍了代理模式的应用,并结合实际的例子详细的描述了Java里面三种代理模式的原理和实现,代理模式是一项非常有用的技术,通过代理角色转发请求,可以实现非常灵活的扩展功能。

97410

介绍下.NET8面的核心技术术语

也就是当某个函数里面的某一段代码运行的次数过多的时候,比如for循环里面的代码,JIT会尝试优化这一段代码,而不是整个函数。意即函数里面的堆或者栈替换成最优解。...Non GC heap: 它是.NET8面新引入的一个堆段,把一些比较简单的,常用的比如常量字符串,类型,空字符串之类的东西放入到Non GC里面,以便加速性能运转。...也就是分层,分层编译在.NET Core2.0面引入,在.NET Core3.0开启,到.NET8.0已经完成成熟,引入诸多技术,比如上面的动态PGO,OSR,以及GDV,边界检查,长两折叠,Non...以上是.NET8面引入的部分和比较重要的部分术语介绍,更多的可以关注公众号:jianghupt进行了解。

13910

理解Java并发里面的CAS概念

前言 我们知道在Java多线程里面关于共享变量的操作,一定是要使用线程同步来保证线程安全的,一旦涉及线程同步,就需要加锁,一旦加锁就意味着某一个时候只能有一个线程在操作,其他的线程如果没有得到锁就会阻塞起来...,此时的线程的状态是BLOCKED,当前面的线程释放锁的时候,系统会自动调度当前的线程进入临界区,这里面存在一个问题,就是线程的上下文切换的问题,虽然比起来进程的上下文切换,线程的上下文切换更轻量级,但仍然也是有一定开销的...CAS 缺点 (1)ABA问题 通过上面的解释,我们知道CAS的原理是读取两个时刻的值,然后比较是否一致再决定是否更新,如果不一致,那么就需要多循环几次直到更新成功,这里面有一个问题假如第一次读到的预期值是...,当操作涉及跨多个共享变量时 CAS 无效;不过从 JDK 1.5开始提供了 AtomicReference 类来保证引用对象之间的原子性,你可以把多个变量放在一个对象里来进行 CAS 操作 CAS与Java...并发工具包的关系 java.util.concurrent包里面的工具类基本全部都是使用了CAS+volatile的乐观锁机制,也就是说Java并发工具包里面的大多数类底层是构建在CAS+volatile

98530
领券