自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 No suitable java found.In order to properly use the android developer tools...

最近在重装AVD的时候遇到了这个错误,以前都没有的。看了错误提示,可能是没装JDK,也可能是没设置JAVA_HOME这个环境变量。还有可能是jdk和当前的android版本不兼容。但是不可能呀,我重装之前都好好的。后来在网上找到了问题所在和解决方案。好像是因为SDK中一个文件的原因——find_java,r17以上的版本重写了find_java.bat ,我们需要把这个文件替换回r16的版本文...

2018-07-29 11:17:55 4440 5

原创 JAVA异常处理机制(二)——throws/throw的区别和使用

JAVA中throw和throws的区别:https://www.cnblogs.com/xiohao/p/3547443.html区别:(摘自上面的博客)1、throws出现在方法函数头;而throw出现在函数体。2、throws表示出现异常的一种可能性,并不一定会发生这些异常;throw则是抛出了异常,执行throw则一定抛出了某种异常。3、两者都是消极处理异常的方式(这里的消极并不...

2018-07-27 19:29:15 23371 1

原创 JAVA的异常处理机制(一)——try...catch...finally

在编程语言中,异常定义了程序中遇到的非致命的错误,比如,程序要打开一个不存的文件、网络连接中断、除零操作、操作数越界、装载一个不存在的类等情况。这些异常错误往往会导致程序中断,无法正常执行。异常处理机制可以防止程序在出现异常时直接崩溃。它可以让程序继续执行,并且处理相应的错误(比如:打印出错误信息等)。今天我们就来看一下JAVA的异常处理机制。一、基本格式 try { ...

2018-07-27 16:47:37 2734

原创 JAVA简单聊天室的实现

鉴于之前有不少同学在跟我要客户端的代码,我近期整理了一下,把整个工程都传到github上了。地址:https://github.co/Alexlingl/Chatroom里面有比较详细的工程运行教程,这篇博客则主要对工程的代码实现进行介绍,没有通信知识基础的同学,在看这篇博客之前可以先看下我通信板块的另外几篇博客:《JAVA通信(一)——输入数据到客户端》《JAVA通信(二)——实现客...

2018-07-26 18:45:49 53992 17

原创 如何在Eclipse中配置安卓环境

《编程从开始到放弃》一般都是因为软件的安装,环境的配置。。。最近被Eclipse中Android的安装配置整得有点难受,在这里把一些坑和解决方案记录下,希望对大家有所帮助。一、下载所需要的文件配置安装环境需要JDK(JAVA环境)和SDK(安卓环境)1.没有下载过Eclipse,可以直接下载adt-bundle,里面包含了eclipse、JDK和SDK。附上个人的百度云盘,文件永久有效...

2018-07-25 22:05:00 16354 5

原创 Android Manager安装扩展文件时出错

1.找到C:\Windows\System32\drivers\etc\host文件,用记事本打开。在文件后面加上203.208.46.146 www.google.com74.125.113.121 developer.android.com#google_android更新203.208.46.146 dl.google.com203.208.46.146 dl-ssl.goo...

2018-07-25 19:40:21 423

原创 Hashtable和HashMap

前不久用JAVA写了一个简单的哈希表,但是在和Hashtable、HashMap进行性能测试比较时,发现相差得有点大,于是专门去探究了一下Hashtable和HashMap的一些特性。一、Hashtable和HashMap的不同1.继承对象不同Hashtable继承Dictionary类,而HashMap继承Map类继承AbstractMap类。2.哈希表的初始容量和扩展方...

2018-07-24 10:48:11 988

原创 ModuleNotFoundError: No module named 'pyttsx'

在使用pip install安装完python扩展包时,pycharm运行相应程序时报出了如下的错误。ModuleNotFoundError: No module named 'pyttsx'。网上有很多说是安装路径问题,需要去改路径,但是我的改了也不太对劲。后来才发现是python翻译器的问题。pycharm好像会为每个项目都复制一个编译器,但是我们使用pip install下载的包是在...

2018-07-23 11:51:36 4183 1

原创 JAVA通信(三)——实现多人聊天

《JAVA通信(一)——输入数据到客户端》《JAVA通信(二)——实现客户端和服务器的通信》前面我们是已经实现了客户端和服务器的通信,但是还存在着一个问题,那就是服务器一次只能跟一个客户端通信。通俗讲就是你使用QQ时一次只能和一个人聊天。今天我们继续完善一下这个通信程序,实现多人聊天。一、多线程如果我们要实现多人聊天,那么我们就必须为每一个客户机创建一个线程。这个线程用来处理服务器...

2018-07-23 09:37:32 9346 4

原创 JAVA通信(二)——实现客户机和服务器通信

前面一篇博客我们简单地理清了JAVA创建服务器,以及客户机连接服务器的流程,今天我们继续往下学习,实现客户机和服务器的通信。由于基本概念我们已经在前一篇博客说清楚了,这里我们就不再进行赘述。(不清楚的可以先阅读下我的前一篇博客JAVA通信(一)——输入数据到客户端)具体代码package communicatetest1;import java.io.IOException;imp...

2018-07-22 17:15:36 7034 1

原创 JAVA通信(一)——输入数据到客户端

前面我们介绍了通信技术的基础知识,今天我们尝试来用JAVA来创建一个简单的服务器,这个服务器将实现接收客户机发送过来的信息,并把信息再传回给客户机。服务器指的是等待别人来连接的机器。客户机,指的是主动链接别人的机器。一、JAVA中服务器和客户机的信息传输过程建议大家在学习JAVA的通信之前先把JAVA中的文件的读取和输出先搞懂。(可以参考我的另一篇博客《JAVA文件读取和写入(内附简单的代...

2018-07-21 19:06:18 7438 5

原创 网络通信技术基础

在我们日常使用的各种各样的软件,都涉及到一项很关键的技术——网络通信技术。今天我们就从软件开发者的角度来探究一下J网络通信技术。一、网络通信技术当我们用在点击下QQ对话框的“发送”按键时,相应的好友就会在另一台电脑上收到我们所发送的信息。大致过程如下首先我们要明白通信是程序与程序之间的交互而不仅仅只是主机与主机之间的交互。每一台主机都有自己的ip地址。这个IP地址可以在网络中标识每...

2018-07-21 12:39:38 12625 4

原创 JAVA中的hashcode()和equals()

最近在探究JAVA中的equals方法时,发现很多地方都会强调如果你重写了equals方法就必须重写hashCode方法,对这一点感到比较迷惑,于是就去探究了一下关于hashcode和equals之间的关系,解决了这个疑惑点。一、hashcode()hashcode是jdk根据对象的地址或者字符串或数字算出来的int类型的数值,也就是哈希码,哈希码并不是完全唯一的。它的对应关系如下:...

2018-07-18 16:19:48 328

原创 JAVA中==和equals的区别

在JAVA中,==和equals两者都是比较是否相等,但是比较的对象有所不同。在开始讲两者的区别之前我们先来了解一下JAVA虚拟机中的内存结构。Java最主要的三块内存:栈——是线程私有的,用来存放局部变量(对象引用和基本数据类型,而不用于存储对象);堆——是程序共享的,存放对象实例数据(当需要一个对象时,使用new写一行代码,当执行这行代码时,会自动在堆里进行存储分配。);非堆——主要用...

2018-07-18 11:06:02 2869

原创 JAVA文件读取和写入(内附简单的代码实现)

最近在测试链表、哈希表等数据结构的性能时,涉及到了文件的读取和写入操作。毕竟十万级的数据纯靠手动输入显然是不可能的。然后由于文件读取和写入格式的复杂性,导致JAVA中有很多不同功能的类,它们各自对应着不同的读/写格式。今天我们将简单介绍一下JAVA中文件处理类的继承关系,并提供一个简单的解决方案。后期我会另外再写一篇博客来深入探究这些文件类。一、文件类的继承关系(图片出处:https:...

2018-07-17 15:36:18 59919 4

原创 学习python的三个小程序(二)

前面我们通过实现一个简单的案例熟悉了python中循环、条件和输出语句的格式。今天我们再来看另一个简单的案例一、问题描述:根据用户输入的值n,随机生成n个数值,并求出这n个数值的平均值。通过这个问题我们可以进一步熟悉一下python中的列表、输入输出函数、强制转换、包的调用。二、代码部分:import randomnumber=input("请输入待处理数据的数量:")ch...

2018-07-16 21:06:20 353

原创 JAVA赋值和C++赋值的区别

前些时候在用JAVA实现哈希表的时候遇到了一个巨坑的错误,由于没有了解JAVA和C++赋值操作的区别,因此耗费了不少时间才找到了错误的原因所在。一个由于JAVA的赋值和C++赋值的区别所引起的错误。赋值一般分为变量赋值和对象赋值,下面我们分别通过两段简单的代码来探究一下C++和JAVA中赋值操作的特点。一、C++中的变量赋值和对象赋值C++的测试代码段如下:#include<i...

2018-07-16 19:50:50 1538

原创 静态方法和非静态方法的区别JAVA

最近在写JAVA程序的时候报了一个错。 No enclosing instance of type FileRead is accessible. Must qualify the allocation with an enclosing instance of type FileRead。翻译一下,大致意思就是:无法访问FileRead类型的封闭实例。必须使用FileRead类型的封闭实例...

2018-07-15 20:45:59 5583

原创 JAVA哈希表的构建(拉链法)

哈希表是一个用途很广泛的数据结构,常用于需要进行大集合搜索的地方,比如腾讯QQ。对于上线的用户我们需要将其添加到一个集合中,以便对其进行各种处理。那么这个集合该采取哪种数据结构呢?最基本的数据结构就两种:链表和数组。在前面的文章中,我们曾经比较过链表和数组的优缺点。链表适用于插入和删除操作较多的集合,但是不适用于取值操作多的集合。而数组不适用于插入和删除操作较多的集合,但是适用于取值操作较多的...

2018-07-15 19:21:02 5752 3

原创 学习python的三个小程序(一)

一、程序一——打印1-100中的偶数和1+2+...+100的值该案例主要用来熟悉python中循环、条件和输出语句的格式。代码部分#coding=utf-8start=1;sum=0;#while 循环的判断条件不用加括号,而是需要冒号while True: if start==101: break; ''' python中没有&&amp...

2018-07-13 10:26:54 421

原创 生产消费模型

一、模型解析生产消费者模型在我们的日常生活中是很常见的。比如我们去超市买东西。那么我们就是消费者,而制造这些东西的人就是生产者,超市就是一个大型的缓冲区。二、构成模型的必备条件——三种关系、两类角色、一类交易场所三种关系:消费者和消费者——互斥关系、生产者和生产者——互斥关系、生产者和消费者——互斥和同步。两类角色:生产者——数据的生产者、消费者——数据的使用者一类交易场所:缓冲区——生产者和消费...

2018-07-12 20:17:24 1481

原创 面向对象的三大特征和六大基本原则

一、面向对象的三大特征封装:隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读取和修改的访问级别。封装的目的有两个,一是增强安全性和简化编程。使用者不必了解具体的实现细节,而只是要通过外部接口,以特定的访问权限来使用类的成员。二是降低不同类之间的影响。封装使一部分成员充当类与外部的接口,而将其他的成员隐蔽起来,这样就达到了对成员访问权限的合理控制,使不同类之间的相互影响减少到最低限度,...

2018-07-12 15:06:27 4753

原创 抽奖小程序(多线程)

前面我们通过两种不同的线程模式来实现了小球运动。一种是多个子线程,一种是单个子线程。今天我们再来做一个简单的抽奖程序加深对线程的理解。一、程序,进程,线程的储存位置...

2018-07-11 17:31:13 2273

原创 小球碰撞(单个子线程)

前面我们利用多线程实现了一个多个小球运动的程序,但是我们知道每个操作系统所能开辟的线程数量是有限的,并且线程越多,程序的运行性能肯定会越低的。因此,我们就想着把它转变为一个单线程的程序。一、线程的理解1.线程,是在进程中独立运行的子任务。为什么需要多线程编程呢?举个简单的例子,比如坦克大战的游戏。但游戏开始时,我们要求画面上要不断地生成新的飞机,但同时我们又要控制自己的飞机进行移动。如果我们只有一...

2018-07-10 11:33:26 417

原创 链表的实现(Java)

前面我们已经使用顺序表实现了一个动态数组,当然动态数组还有另一种实现形式——链表。这里就涉及到另一个问题,JAVA中有没有指针?严格来说JAVA是没有真正意义上的指针的,它只有引用。具体的分析我们这里暂不做讨论。接下来我们就利用JAVA的引用来实现一个动态数组,也就是链表。一、链表的物理结构链表是由一个个独立的节点组织起来的,它具有真正意义上的动态。顺序表在计算机内部是顺序储存的,它每次在...

2018-07-08 17:17:39 3845

原创 文件压缩(二)——英文字符串的处理

文件压缩(一)——Huffman树的构建在前一篇文章中,我们已经构建了一棵Huffman树了,今天我们将利用这棵Huffman树来实现英文字符串的压缩和解压缩。一、字符串在JAVA中的储存String字符串相当于一个char型数组,和C++不同的是,JAVA采用的是unicode编码,每个char型数据占2个字节,只不过对于ASCII码中的字符,它的第一个字节位全0。浪费了一些空间。而...

2018-07-07 19:57:01 804

原创 JAVA用数组实现动态数组——顺序表

数组是我们在编程的过程中最常用到的数据结构。一般我们用的都是定长数组,动态数组用的会比较少。但是有时,或者说有很多时候,定长数组并不能很好地满足我们的要求,于是我们只能用动态数组。在JAVA中,有一个封装好的API——ArrayList,就是一个动态数组,在C++中有一个vector也是动态数组。我们可以直接拿过来使用。但是有时我们可能需要自己定制一个动态数组,以便更好地解决我们的问题。今天,我们...

2018-07-07 18:14:55 4856

原创 多线程的概念和JAVA实现

多线程编程,相信大家或多或少都有听到过。以前对这个概念的理解比较模糊,最近写了一个简单的JAVA程序来帮助自己理解这个概念。一、什么是程序?什么是进程?什么是线程?A.程序:程序是一个指令序列。执行某一个进程所需要的所有文件,这些文件最后都会被翻译成指令序列。B.进程:进程是正在运行的程序的实例。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线...

2018-07-05 10:42:58 382

原创 文件压缩(一)——Huffman树的构建

在传输文件的过程中我们经常会先对文件进行压缩,然后再传输。等接收到文件后,在进行解压缩。于是也打算自己动手写一个简单的文件压缩程序,大致分为三个过程,Huffman树的构建,利用哈夫曼树对输入的字符串进行压缩和解压缩处理,文件处理。今天,我们先来实现Huffman树的构建。在动手写代码之前我们先做一些准备工作。(这里不会详细介绍Huffman树,对Huffman基本概念不了解的同学请自行查阅其他资...

2018-07-03 21:36:20 529

原创 JAVA五子棋的实现(三)——人机对战(权值法)

完整代码已上传到github上,地址:https://github.com/Alexlingl/GoBang。有需要的可以自取。五子棋系列博客(总共三篇,从简单功能简单界面到人机对战,以及较美观的登录及对战界面。第三篇博客中有最终实现的界面效果):JAVA五子棋的实现(一)JAVA五子棋的实现(二)在JAVA五子棋的实现(二)中我们已经实现了以下几个功能:1.判断输赢;2.实...

2018-07-01 18:04:12 16708 44

原创 n皇后问题(分支限界法)

一、问题描述*问题描述:在n*n格的棋盘上放置彼此不受攻击的n个皇后。按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。n皇后问题等价于在n*n的棋盘上放置n个皇后,任何2个皇后不放在同一行或同一列或同一斜线上。*算法设计:设计一个解n皇后问题的队列式分支限界法,计算在n*n个方格上放置彼此不受攻击的n个皇后的一个放置方案。*数据输入:由文件input.txt给...

2018-07-01 11:35:22 32310 11

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除