Java
文章平均质量分 74
sanqima
这个作者很懒,什么都没留下…
展开
-
在VSCode里编译C++、Java程序,并设置环境
VScode是一个跨平台、开源的编译工具,它支持C、C++、Solidity、Java、PHP、C#、Python等语言的编写、编译和调试,只需要安装对应的编译插件即可。这里介绍VSCode里C++、Java这2种语言的编译、环境配置。原创 2022-04-05 15:52:39 · 3053 阅读 · 0 评论 -
MyBatis架构图
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。Mybatis是面向sql的持久层框架,它封装了jdbc访问数据库的过程,我们开发,只需专注于sql语句本身的拼装,其它复杂的过程全部可以交给Mybatis去完成。原创 2021-05-23 18:54:39 · 3917 阅读 · 3 评论 -
Ubuntu16里Maven3.6.3的安装与配置
Maven是一个跨平台、开源的项目构建工具,可以实现项目的自动化构建,从清理、编译、测试到生成报告,再到打包和部署。它可以一条命令,来管理项目的整个生命周期,规避了繁琐的编译、源码分支管理等,更加人性化,大大缩短了项目的部署和调试时间。这里介绍,在Ubuntu16上,安装Maven 3.6.3并配置其环境。原创 2021-05-10 16:18:27 · 1137 阅读 · 0 评论 -
Ubuntu 16里的Java8环境配置
Linux系统对每个用户都有单独的.bashrc文件,该文件保存着当前用户的环境变量。现在Linux上有2个账号,分别为root和zhao,如果要让root和zhao这个2个账号都能使用Java8环境,则有2种方法可以实现:方法一:以root身份进入Linux,然后修改.bashrc文件,再切换到zhao账号,也修改.bashrc文件。方法二:修改/etc/profile文件。方法一的优点是比较灵活,需要用Java8环境,则修改其账号下的.bashrc文件即可。原创 2021-05-10 11:52:13 · 494 阅读 · 0 评论 -
Java里ArrayList与LinkedList的区别
Java里,List类型的接口实现有ArrayList和LinkedList这2种,它们的区别如下: ArrayList 实现了可变的数组,允许保存所有元素,包括null,并可以根据索引位置对集合进行快速的随机访问;缺点是向指定索引位置插入对象或删除对象的速度较慢。 LinkedList 采用链表结构保存对象。这种结构的优点是便于向集合中插入和删除对象,需要向集合中插入、删除对象时,使用LinkedList类实现的List集合的效率较高;但对于随机访问集合中的对象,则效率偏低。原创 2021-04-29 17:46:50 · 256 阅读 · 0 评论 -
Java里对象比较A==B与equals(A,B)的区别
在Java语言中,对象有2种比较方式,分别为"==" 和equals()。这2种方式有本质的区别。 "A==B" 比较的是两个对象A、B的地址是否相同; equals(A,B)比较的是两个对象A、B的内容是否相同。原创 2021-04-29 08:46:07 · 847 阅读 · 1 评论 -
Java里的冒泡排序、直接选择排序和反转排序
冒泡排序:通过对数组中相邻元素的比较与位置交换,使得数值较小的元素如气泡一般逐渐往上"漂浮"到"水面"。反转排序的基本思想,将一个数组的头尾元素进行对调,即第1个元素与倒数第1个元素对调,第2个元素与倒数第2个元素,直到全部元素对调完成。原创 2021-04-28 19:22:13 · 268 阅读 · 0 评论 -
Java版本下载与环境配置
java的各个版本下载,与环境配置,以及测试java环境的方法。原创 2021-04-21 15:36:20 · 566 阅读 · 1 评论 -
输入某年某月某日,判断这一天是这一年的第几天
代码如下:package cn.wuhan.unit7;import java.util.*;public class Tianshu2 { public static void main(String[] args) { int year,month,day; int days=0; int dayCount=0; Scanner sc; boo原创 2014-07-01 09:22:21 · 2469 阅读 · 0 评论 -
约瑟夫环问题
约瑟夫环问题:50个人围成一圈,数到3和3的倍数时出圈,问剩下的人是谁?在原来的位置是多少?思路如下:1)首先,把数据填充到数组或链表中;2)用一个while循环进行出圈,直到只剩下一个元素留下。原创 2014-07-01 10:21:33 · 1626 阅读 · 0 评论 -
用Java实现快速排序
快速排序是对冒泡排序的一种改进。它的基本思想是:通过一躺排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一不部分的所有数据都要小,然后再按次方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。最坏情况的时间复杂度为O(n2),最好情况时间复杂度为O(nlog2n)。 假设要排序的数组是A[1]……A[N],首先任意选取一个数据(原创 2014-06-30 08:51:36 · 936 阅读 · 0 评论 -
正则表达式去掉非数字字符
例如,String str = "2006-04-15 02:31:04",要把原创 2014-06-29 20:26:30 · 19526 阅读 · 0 评论 -
最大公约数和最小公倍数
题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 /**在循环中,只要除数不等于0,用较大数除以较小的数,将小的一个数作为下一轮循环的大数,取得的余数作为下一轮循环的较小的数,如此循环直到较小的数的值为0,返回较大的数,此数即为最大公约数,最小公倍数为两数原创 2014-06-29 21:55:16 · 848 阅读 · 0 评论 -
用Java统计字符串中的字母、数字、空格和其他字符
案例: 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。原创 2014-06-30 08:24:12 · 17494 阅读 · 0 评论 -
获取模拟电压值(第三篇)
//文件StringLinewrap2.java原创 2014-05-26 10:43:39 · 959 阅读 · 0 评论 -
堆排序
堆排序过程:(这里选用大顶堆) 一个完整的堆排序需要经过反复的两个步骤:构造堆结构和堆排序输出。一、构造堆结构1)将原始的数据,按层遍历,依次放置到一个完全二叉树的各个节点中;2)对这个完全二叉树进行编号,从根开始,按层遍历,依次编号为1、2、3、,...,n;原创 2014-06-07 22:15:45 · 958 阅读 · 0 评论 -
Java中String的特征
一、String的创建 String s="hello"; JVM先原创 2014-06-29 20:05:45 · 923 阅读 · 0 评论 -
获取模拟电压值(第二篇)
当序列的长度小于13或者协议字段不原创 2014-05-26 10:03:50 · 1086 阅读 · 0 评论 -
重载与覆盖的区别
对于在同一个可访问区内被声明的几个具有不同参数列(参数的类型、个数、顺序不同)的同名函数,程序会根据不同的参数列表来确定具体调用哪个函数,这种机制叫重载(overload),overlaod不关心函数的返回值。 覆盖(override)是指派生类中存在重新定义的函数,其函数名、参数列、返回值类型必须同父类的相对应被覆盖的函数严格一致,覆盖函数和被覆盖函数只有函数体(花括号中的部分)不同,当派生类对象调用子类中同名函数时,会自动调用子类中的覆盖版本,而不是父类中的被覆盖版本。原创 2014-06-27 21:48:08 · 1203 阅读 · 0 评论 -
判断一个整数是否2的阶次
例如,8、64、256都是2的阶次方数(8是2的3)原创 2014-06-27 17:24:35 · 1682 阅读 · 0 评论 -
使用泛型实现栈结构
泛型类就是含有一个或者多个类型参数的类。定义泛型类很简单,只需要在类的名称后面加上“<”和“>”,并在其中指明类型参数,比如本例中的T。也可以在其中指明多个参数,如K、V。多个参数之间使用逗号隔开。定义完类后,就可以在类中的域和方法中使用泛型参数。注意: 泛型类型的参数只能使用类类型,而不能使用基本类型。原创 2014-06-05 08:42:56 · 3803 阅读 · 0 评论 -
使用线程池优化多线程编程
Java中的对象是使用new操作符创建的,如果创建大量短生命周期的对象,这种方式性能非常低下。为了解决这个问题,而发明了池技术。对于数据库连接有连接池,对于线程则有线程池。本实例介绍两种方式创建1000个短生命周期的线程,第一种是普通方式,第二种是线程池的方式。通过时间和内存消耗的对比,就可以很明显地看出线程池的优势。原创 2014-06-05 11:06:01 · 1261 阅读 · 0 评论 -
编程中的匈牙利命名法
匈牙利命名法,是一种编程时的命名规范。基本原则是: 变量名 = 属性+类型+对象描述 其中,每一个对象的名称都要求有明确的含义,可以取对象名称全称或名字的一部分。命名要基于容易记忆和容易理解的原则。保证名字的连贯性非常重要。原创 2014-07-02 08:39:38 · 1663 阅读 · 2 评论 -
IP地址的正则表达式
转载地址:http://www.cnblogs.com/txw1958/archive/2011/10/13/ip_address_regular_expression.html转载 2014-06-11 16:51:31 · 962 阅读 · 0 评论 -
验证非法电话号码
正则表达式在电话号码中的应用原创 2014-06-11 16:16:23 · 1691 阅读 · 0 评论 -
WindowBuilder的离线安装与使用
在Java中有一个非常好用的图形界面插件 WindowBuilder,下面介绍使用该插件,来求解两个整数之和。 1.打开Eclipse,点击工具栏上的【File】–>New—>WindowBuilder —>JFrame –> 命名为:JisuanQi ,如图(1)、图(2)所示: 图(1) 选择WindowBuilder —>JFrame 图(2) 命名为:JisuanQi 2原创 2016-05-23 06:13:53 · 10779 阅读 · 0 评论 -
基于用户的协同过滤算法(Java实现或R语言实现
协同过滤的步骤是: 创建数据模型 —> 用户相识度算法 —>用户近邻算法 —>推荐算法。 基于用户的协同过滤算法在Mahout库中已经模块化了,通过4个模块进行统一的方法调用。首先,创建数据模型(DataModel),然后定义用户的相似度算法(UserSimilarity),接下来定义用户近邻算法(UserNeighborhood ),最后调用推荐算法(Recommender)完成计算过原创 2015-12-24 10:53:33 · 15433 阅读 · 5 评论 -
在pdf中绘制表格与插入图片
使用iText.jar和itextasian.jar,可以在pdf中绘制表格和插入图片,效果如下: 图(1)在pdf中绘制表格和插入图片 本实例主要Chapter类的addSection()获取小节对象,然后,使用PdfTbale类创建表格对象,并将表格对象添加到小节中,从而实现在小节中添加表格的功能。向小节中添加表格的代码如下: //创建列数为3的表格 PdfPT原创 2015-12-22 16:34:48 · 16005 阅读 · 1 评论 -
解决“STSong-Light‘ with ‘UniGB-UCS2-H‘ is not recognized“问题
iText5.x版本以上中的font和encoding文件都是从String RESOURCE_PATH = “com/itextpdf/text/pdf/fonts/”加载的,而itextasian1.5.x.jar的包名是com.lowagie.text.pdf.fonts, 包名不一致,导致路径错误。解决方法如下: 1.将itextasian1.5.x.ja解压,找到里面itextasi......原创 2015-12-21 20:57:41 · 63446 阅读 · 2 评论 -
使用JFreeChart绘制饼图
JFreeChart是一款开源的Java图表绘制工具,其图表种类丰富、接口通俗易懂、支持多种显示方式,如application、applets、servlet和JSP。可以很方便地绘制饼图、双轴图、折线图、柱形图、气泡图、环形图和时序图等等。下面介绍用JFreeChart绘制饼图。 1.下载JFreeChart包,地址: http://download.csdn.net/download/w原创 2015-12-20 10:30:11 · 2274 阅读 · 0 评论 -
解决org.apache.commons.collections找不到问题
出现The import org.apache.commons.collections cannot be resolved问题,是因为collections-generic-4.0.1.jar没有引入,同时要注意import的写法。 解决方法: 1.引入collections-generic-4.0.1.jar import org.apache.commons.collections15.*;原创 2015-12-18 11:36:22 · 54962 阅读 · 1 评论 -
windowBuilder1.1的使用方法
1)新建一个JFrame文件 打开Eclipse-->右击Package Explorer的空白区--原创 2014-05-20 16:23:09 · 2502 阅读 · 0 评论 -
MyEclipse中的常用技巧
1.代码自动完成 点击MyEclipse8.5工具栏上的【Window】–> 【Preferences】–> Java –> Editor –> Content Assit, “Auto-Activation”界面栏的Auto activation triggers for Java [ ]框框里,填入如下代码: abcdefghijklmnopqrstuvwxyz.如图(1)所示:原创 2015-10-29 11:24:59 · 905 阅读 · 0 评论 -
Java中的null布局
Java中的null布局,就是没有布局,或称空布局。null布局和Component类的setBounds方法结合使用,便可以进行这种不受限制的布局。进行null布局,setBounds方法是关键,其函数如下:public void setBounds(int x,int y,int width,int height) 其中x、y表示组件右上角坐标,width、height分别表原创 2014-05-12 20:04:08 · 5488 阅读 · 0 评论 -
测试SQL Server 2000数据库连接
安装SQL Server 2000, 如果你的电脑是win7,请下载: http://pan.baidu.com/s/1o6tdjDK 如果你的电脑是XP,请下载: http://pan.baidu.com/s/1kTEhVh1打开MyEclipse8.5, 新建一个Web Project工程, 命名为:Lianjie, 添加SQL2000所需要的三个.jar包:msbase.jar、ms原创 2015-09-01 20:15:02 · 1583 阅读 · 0 评论 -
jdk1.6的版本与下载地址
JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)。 SE(J2SE),standard edition,标准版,是我们通常用的一个版本,从JDK 5.0开始,改名为Java SE。 EE(J2EE),enterprise edition,企业版,使用这种JDK开发J2EE应用程序,从JDK 5.0开始,改名为Java EE。 ME(J原创 2015-04-08 20:54:49 · 21359 阅读 · 3 评论 -
Java调用R并打包成可执行的jar
rJava是一个R语言和Java语言的通信接口,通过底层JNI实现调用,允许在R中直接调用Java的对象和方法。 rJava还提供了Java调用R的功能,是通过JRI(Java/R Interface)实现的。JRI现在已经被嵌入到rJava的包中,我们也可以单独试用这个功能。现在rJava包,已经成为很多基于Java开发R包的基础功能组件。 正式由于rJava是底层接口,并使用JNI作原创 2015-12-28 18:02:00 · 4830 阅读 · 5 评论 -
替换文本文件中指定的内容
本实例实现了指定文本文件中的内容替换,原创 2014-06-11 21:11:37 · 3317 阅读 · 0 评论 -
用割圆术求圆周率π
以半径为1的圆开始,依次在圆内画正六边形、正十二边形、正6n边形...。 只有n趋近于无穷大,便可以得到足够接近圆的多边形,计算的圆周率π也就越精确。完整代码如下:原创 2014-06-12 09:28:04 · 10432 阅读 · 0 评论 -
支持图片预览的文件选择对话框
本实例在文件选择器JFileChooser类的基础上开发了支持图片预览效果的文件选择原创 2014-06-11 22:00:15 · 1585 阅读 · 0 评论