- 博客(15)
- 收藏
- 关注
原创 把数据库表结构用一定的的格式保存到excel
table_names.txt文件结构。TableInfo.xlsx文件结构。test_table1|测试表1。test_table2|测试表2。
2024-03-28 17:29:17
207
1
转载 JVM创建对象时如何处理并发安全问题
原文链接:JVM创建对象时如何处理并发安全问题_zjc1302的博客-优快云博客并发场景中,进行内存分配时,如果两个线程先后把对象引用指向了同一个内存区域,怎么办?一般有两种解决方案: ※对分配内存空间的动作做同步处理,采用CAS机制,配合失败重试的方式保证更新操作的线程安全性。该方案每次分配时都需要进行同步控制,这种是比较低效的。 ※***TLAB分配,即Thread Local Allocation Buffer。***每个线程在Java堆中预先分配一小块内存,然后再给对象分配内存的时
2021-12-27 16:49:35
592
转载 java new一个对象的过程
文章来源:https://www.cnblogs.com/JackPn/p/9386182.html完全拷贝,防止源链接文章丢失java在new一个对象的时候,会先查看对象所属的类有没有被加载到内存,如果没有的话,就会先通过类的全限定名来加载。加载并初始化类完成后,再进行对象的创建工作。我们先假设是第一次使用该类,这样的话new一个对象就可以分为两个过程:加载并初始化类和创建对象。一、类加载过程(第一次使用该类) java是使用双亲委派模型来进行类的加载的,所以在描述类加载过程前,我们
2021-12-27 16:42:49
1997
原创 读含有分隔符的文件写进mysql
ASCII码部分代码:public void ts() { char CHAR_SPLIT = 0x1b;//不可见字符 try { File file = new File("/Users/chen/Downloads/test.txt"); if (file.isFile() && file.exists()) { I
2020-12-17 11:05:10
548
原创 POI导出Excel加水印
1.MAVEN依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.15</version> </dependency> <dependency>
2020-12-16 21:03:49
1845
2
原创 POI导出word表格
POI导出word表格1.MAVEN依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.15</version> </dependency> <depen
2020-12-16 20:57:39
317
1
原创 堆排序——C语言
关于堆不做过多解释(要说的话有点多....)要学堆排序的话对堆肯定有一定的理解。首先从堆顶开始,自左向右依次标号的话(0..n),我们可以发现父子节点的关系(首标为0时)i为父;则左子为2i+1;右子为2i+2;要实现堆排序,1:将无序堆变成有序。2:堆顶元素与堆尾元素交换后,去掉堆尾(此时堆尾最大或者最小,不需要再调整),调整剩下的(因为前面交换首尾,所以堆得有序结构改变了,需要重新调整),使其...
2018-07-13 17:18:40
323
原创 折半插入——C语言
折半插入其实就是在寻找插入位置时运用了折半(通俗讲就是我想找这个插入位置,咋找?用折半!)同直接插入,首先一个数组分成两部分第一个数下标为0的数看成一部分(有序!)剩下的是一部分(无序!)1:在无序中依次拿出一个插入有序中:2:在有序中找插入位置3:用折半方法找出插入位置下面给出这个数组贴上代码下面这个就是折半算法具体看下面这个图理解分段如有错误;欢迎指正...
2018-07-12 17:29:03
917
原创 希尔排序——C语言,
希尔排序也是一种插入排序,什么样的才是希尔排序呢?我的理解就是王对王,将对将! 什么意思呢?废话不多说,图永远是最直白的东西!看图 第一次分成两小数组 也就是A[0]和A[0] A[1]和A[1] A[2]和A[2] A[3]和A[3]配对(这就是王对王,将对将!)接着掰掰手腕!比较大小然后交换 两个小数组各自又中分,现在变成四个小数组了。同理!A[0]和A[...
2018-07-12 17:28:20
257
原创 直接插入排序——C语言
什么是直接插入排序?怎么理解它?举个栗子:比身高,一群人站成一排,你的身高在这些人中不高不矮,要想把你放进去且身高递增,肯定是要比较的,既然要比较那就要有比较的基准,同理要想在无序数组里插入一个数,肯定也要比较,给出一组数{4,2,3,1,5},要把它变成有序怎么办?是不是可以把4看做一个基准,比4大的都在4前面,比4小的都在后面呢?而且2前面只有一个数:4,它一定是有序的!接下来我们试一下: ...
2018-07-12 16:03:50
376
原创 快速排序——C语言
快速排序是冒泡排序的进化版,冒泡原理是比我大的放在我后面或者前面,快速则是比我大的放在后面,比我小的放在前面(前后并不绝对,取决于你是升序或降序)下面举个例子便于更好理解一列数2 4 1 3 5 (贴上自己画的图)假设第一个数 2 为基准key,我们可以再设一个变量t把2赋给t,这样原来2的位置就空下来了。还设了两个指针(此指针仅代表移动方向,非*p这种)由图可以知道找出基准...
2018-07-09 09:39:09
578
原创 选择排序——C语言代码
介绍选择排序下面是我在网上找的示例图,便于更好地理解选择排序通过这个图我们明白K只是一个标记,它标记的是比较中 小的数。我们第一轮我们可以找到所有数中最小的数,然后让它和处于第一位的数进行位置交换,第二轮比较时 ,第一轮找出的最小数不在参加比较,然后我们可以找出剩下数中最小的数,之后的每轮同理。下面大家看一下我的代码首先要明白for(j=i+1;j<=9;j++) { if(a[k]&...
2018-07-08 11:18:56
35223
12
原创 冒泡排序——C语言
下面讲一下学习冒泡的一些思路,冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。简单来说就是前后比较,如果前面比后面的大,则交换(这是升序)反之,就是降序。下面看一下代码:这是用C写的简单代码很多初学C语言的的同学不明白冒泡怎么实现的,主要是不理解中间的循环,首先...
2018-07-08 10:22:28
396
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人