- 博客(21)
- 收藏
- 关注
原创 生产者-消费者模型
模拟一个生产者-消费者关系的程序。其中包含5个类 1.主控类ProducerConsmer 2.共享数据类MyData 3.共享数据控制类ShareData 4.生产者线程类 5.消费者线程类class ProducerConsmer{ // 1---------------主控类 public static void main(String[] agrs){
2017-10-07 19:27:37 293
原创 排序算法4_快速排序
快速排序快速排序是对冒泡排序的改进,通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录关键字都比另一部分关键字小,然后分别对这两部分记录继续排序,以达到整个序列有序。 任意选取一个数据(通常是第一个数)作为关键数据,然后将比他小的放前面,大的放后面。 class QuickSort{ public static void main(String [] args){
2017-10-06 13:35:21 257
原创 排序算法3_希尔排序
希尔排序希尔排序是插入排序的一种,也称作“缩小增量排序”,具体做法如下: 先将要排序的一组数按照某个增量d(d=n/2)分成若干组,每一组记录的下标相差d,对每组中的数进行直接插入排序,然后再用更小的d(d=d/2)分组,直到d=1,进行直接插入排序后,排序完成。class ShellSort{ public static void main(String [] args){
2017-10-06 12:41:34 396
原创 java 从字符串中提取数字
从键盘随意输入一串字符,从中提取数字import java.util.*;import java.util.regex.Matcher;import java.util.regex.Pattern;public class getNum{ public static void main(String[] args){ Scanner sc=new Scanner(System.
2017-09-29 23:52:13 3061
原创 java中的二分查找
二分查找:在二分查找中,从数列中间开始查找,如果这个数小于我们查找的数,由于数列已经排序,那么无需浪费时间再搜寻左边的数,如果这个数大于我们要找的数,则下一次从左边开始搜寻。代码如下:public class Binary{ public static void main(String[] args){ int[] a={24,6,23,65,39,17,44,78,92}; B
2017-09-29 23:47:01 399
原创 各大公司笔试面试经-Java软件工程师
最近开始陆续进行的校园招聘笔试和面试,由于没有好好准备,好多基础知识慢慢遗忘,在这里将笔试和面试遇见的问题记录下来,不定期更新。2017/9/28:1.吞吐率: 吞吐率原指业务系统在单位时间内处理的服务量。在计算机或数据通信系统中,指的是单位时间内通过某通信信道或某个节点成功交付数据的平均速率,通常以每秒比特数为单位,吞吐率是衡量网络性能的重要指标。那么如何提高吞吐率呢?
2017-09-29 08:47:25 609
原创 java创建线程常见的2种方法
在Java语言中,可以通过继承线程类Thread 或实现Runnable接口来创建用户自定义的线程,在这里主要介绍如何继承Thread类编写用户自己的线程类和如何通过实现Runnable接口来创建线程。1.继承Thread类: 线程Thread类是在java.lang包中定义的,但线程核心内容并非定义在这个类中,而是存在于Java平台中。实际上,这个类是真正线程的代理人,当用户操作T
2017-09-27 15:07:45 433
原创 static变量/方法,与基类父类执行的先后顺序
1.static成员变量:属于整个类而不是某个实例对象,在类被加载时系统就会为其分配内存,直至程序结束退出才会被回收。2.static方法: 静态方法中可以直接调用同类中的静态成员,不可以直接调用非静态成员,但是可以通过创建类的对象,然后通过对象来访问非静态成员; 静态方法中不可以直接调用非静态方法,但是可以通过对象来调用; 普通方法可以调用静态方法。p
2017-09-26 17:50:54 635
原创 排序算法2_冒泡排序
冒泡排序(稳定排序,O(n^2)):比较相邻的两个数,最后使数据由小至大排序。class BubbleSort{ public static void main(String [] args) { int[] a={23,54,21,53,16,49,26,30,18}; System.out.print("排序前:"); for(int i=0;i<a.length-1;i+
2017-09-20 12:09:52 275
原创 水仙花数
例题:从键盘输入m,n表示水仙花取数范围,如果在此范围内存在水仙花数,则输出所有水仙花数并从小到大排列,否则输出noimport java.util.Scanner;public class Hjj{ public static void main(String [] args){ Scanner sc=new Scanner(System.in); String input =
2017-09-18 21:00:24 475
原创 JDBC连接数据库
MySQL数据库的连接:导入相关的jar包:import java.sql.*;一、静态加载JDBC驱动程序Class.forName("com.mysql.jdbc.Driver");二、创建与数据库连接Connection conn=DriverMannger.getConnection(url,username,password);三、创建语句对象
2017-07-27 21:55:19 270 1
原创 web项目中加斜杠与不加斜杠
加斜杠是绝对路径,基于http://localhost:8080/不加斜杠是相对路径,基于当前文件,如果设置了base则基于base<%String path = request.getContextPath();// 获得项目完全路径(假设你的项目叫MyApp,那么获得到的地址就是 http://localhost:8080/MyApp/):String basePath = r
2017-07-27 21:45:11 3069
原创 MyBatis入门配置及简单应用
MyBatis:支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Ordinary Java Objects,普通的 Java对象)映射成数据库中的记录。在这里简单的创建一个java web项目M
2017-07-27 21:16:15 357
原创 Spring+SpringMVC+MyBatis整合配置文件的搭建
SSM项目的环境搭建:一、项目的目录结构如下:二、导入的jar包:WEB-INF/lib下三、resources下的几个配置文件+WEB-INF下的web.xml文件需要自己配置:wei.xml: pmis characterEncoding org.springframework.web.fi
2017-07-27 20:31:06 2681
原创 Java读取图片文件
需求:读取图片输入流,获取图片并存储在桌面上代码如下:import javax.imageio.ImageIO;import javax.imageio.stream.ImageOutputStream;import java.awt.*;import java.awt.image.BufferedImage;import java.io.*;import java.net.Ht
2017-07-18 20:54:17 21968 2
原创 在沉睡中停止线程
如果在sleep状态下停止某一线程,会进入catch语句,并且清除停止状态值,使之变成falseclass MyThread extends Thread{ @Override public void run(){ super.run(); try{ System.out.println("run begin"); Thread.sleep(200000);
2017-07-15 15:30:56 409
原创 isAlive()方法
isAlive()方法: 判断当前的线程是否处于活动状态活动状态是指线程已经启动且尚未终止,线程处于正在运行或准备开始运行的状态,就认为线程是存活的class MyThread extends Thread{ @Override public void run(){ System.out.println("run= "+this.isAlive()); }}pub
2017-07-15 11:14:50 17676 3
原创 currentThread().getName和this.getName()的区别
currentThread().getName()方法:返回代码段正在被哪个线程调用的name信息。this.getName()方法:是获取当前对象的名字,只是单纯的方法调用class CountOperate extends Thread{ public CountOperate(){ System.out.println("CountOperate begin"); //Cou
2017-07-13 21:12:35 525
原创 非线程安全
非线程安全:主要是指多个线程对同一个对象中的同一个实例变量进行进行操作时会出现值被更改、值不同步的情况,进而影响程序的执行流程。代码示例://非线程安全实例class LoginServlet{ //本类模拟一个Servlet组件 private static String usernameRef; private static String passwordRef; syn
2017-07-13 21:07:28 308
原创 排序算法1_直接插入排序
概述: 排序分为两大类,内部排序和外部排序,内部排序指的是待排序记录存放在计算机随机存储器中进行排序过程,外部排序指的是待排序记录数量很大,以致内存不能一次容纳全部记录,在排序过程中尚需对外存进行访问的排序过程,这里我主要给出内部排序: 其中稳定排序:插入排序、冒泡排序、归并排序、基数排序。直接插入排序:基本操作是将一个记
2017-06-06 15:50:17 395
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人