自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我是一只小小牛的博客

喜欢写技术博客,提高自己,总结自己

  • 博客(18)
  • 资源 (1)
  • 收藏
  • 关注

原创 DFS深入理解之-8皇后问题

在8*8格的国际象棋上摆放8个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行,同一列,或者同意斜线上,问一共有多少种摆法?解题思路:DFS深度递归;按照从上往下的顺序放置皇后,每列只能放置一个皇后;每次放置一个皇后前,先判断当前位置的同行,对角线位置是否已经放置了皇后,若放置,则当前位置不放置皇后,回溯至原来,找下一个位置;若没有,则选择当前点,继续广度,深度递归,直接所有皇后都放置结束;这里定义一个二维数组来存放记录某个位置是否已经放置了元素;代码如下:public class Main {

2021-11-28 22:41:53 483

原创 调用内部类的私有方法,其中内部类和外部类的构造器都是私有的

1.首先类如下:package test;public class Outer { private Outer() { } private void eat(String food) { System.out.println("我在吃"+food); } class Inner{ private Inner(){ }

2017-04-10 22:43:21 1407 1

原创 实现一个多线程下载

运用我们学过的HttpURLConnection网络编程,可以实现多线程下载: 代码如下:public class DownUtil { // 定义下载资源的路径 private String path; // 指定所下载的文件的保存位置 private String targetFile; // 定义需要使用多少线程下载资源 private in

2016-12-24 17:41:13 310

原创 如何编写一个简单群聊

运用学过的Tcp网络编程可以实现一个简单的群聊,其代码如下:服务器端的代码如下:public class TcpServer { //因为ArrayList本身不是线程安全的,所以通过集合Collections.synchronizedList将其转换为一个线程安全的类 public static List<Socket> listSocket = Collections.synchro

2016-12-24 17:11:25 616

原创 浅谈网络编程技术(TCP、UDP、HTTP)

在介绍这三种编程技术之前,先说一下网络编程的三要素:IP地址:网络中计算机的唯一标识端口:正在运行程序的标识(有效的端口区间在0~65535之间,其中0~1024系统使用或保留端口)协议:通信的规则 举一个简单的例子: 我要和某人说话,这个步骤流程是什么? 首先,我要找到说话的对象(通过IP地址找到的); 然后,开始对她说话,怎么说,要对着耳朵说(端口); 说了什么,I love y

2016-12-23 14:46:58 897

原创 Android数据存储之Sqlite

1、SQLiteOpenHelper抽象类首先创建一个类继承SQliteOpenHelper;代码如下:public class MyDatabaseHelper extends SQLiteOpenHelper { //创建一张表Book public static final String CREATE_BOOK = "create table Book("

2016-11-24 18:02:54 223

原创 Android数据存储之文件存储

1、将数据存储到文件中private void save() { String data = "Data to save"; FileOutputStream out = null; BufferedWriter writer = null; try { out = openFileOutput("data", C

2016-11-23 21:36:59 282

原创 如何获取Android的屏幕大小

一、该方法返回一个DisplayMetric类型的对象//获取当前屏幕尺寸的大小private static DisplayMetrics getMetrics(Context context) { DisplayMetrics metrics = new DisplayMetrics(); WindowManager manager = (WindowManager) conte

2016-11-22 01:17:02 463

原创 android:allowBackup

1.allowBackup安全风险描述 Android API Level 8及其以上Android系统提供了为应用程序数据的备份和恢复功能,此功能的开关决定于该应用程序中AndroidManifest.xml文件中的allowBackup属性值[1] ,其属性值默认是True。当allowBackup标志为true时,用户即可通过adb backup和adb restore来进行对应用数据的备份

2016-11-22 00:23:12 396

原创 Java中的单例模式

一、概述:    单例模式的写法有好几种,这里主要有三种:懒汉式单例、饿汉式单例、登记式单例。   单例模式有以下特点:   1、单例类只能有一个实例。   2、单例类必须自己创建自己的唯一实例。   3、单例类必须给所有其他对象提供这一实例。   单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动

2016-11-07 09:49:30 195

原创 Java集合ArrayList,Vector,LinkedList

ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数组元素移动等内存操作,所以索引数据快插入数据慢,Vector由于使用了synchronized方法(线程安全)所以性能上比ArrayList要差,LinkedList使用双向链表实现存储,按序号索引数据需要进行向前或向后遍历,但是插入数据时只需要记

2016-11-04 18:07:42 207

原创 hashMap集合遍利方式

/* * 方法一:for each map.entrySet() */ Map<String, String> map=new HashMap<String, String>(); map.put("name", "123"); for(Entry<String, String> entry:map.entrySet

2016-11-04 17:04:38 262

原创 Java中final和static

一、 final根据程序上下文环境,java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能处于两种理解而需要阻止改变:设计或效率。Final类不能被继承,没有子类,final类中的方法默认是final的 Final方法不能被子类的方法覆盖,但可以被继承 Final成员变量表示常量,只能被赋值一次,赋值后值不再改变。 Final不

2016-11-04 13:43:12 238

原创 Android中View的双击,多击实现方法

一、第一种双击方式:在这里用到Android开发者最青睐的一种注入框架ButterKnife来写了一个点击事件,他可以节省很多的代码,后面可能会讲,此处不再赘述!我们知道,android有一个System.currentTimeMills()方法:该方法的作用是返回当前的计算机时间,时间的表达格式为当前计算机时间和GMT时间(格林威治时间)1970年1月1号0时0分0秒所差的毫秒数。此处,我们运用了

2016-11-04 11:46:20 3627

原创 接口和抽类概念,区别

接口和抽类概念,区别 一、 接口(Interface):是一系列方法的声明,是一些方法特征集合,一个接口只有方法没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)二、 接口的含义Java接口没有任何的实现,因为java接口比涉及表象,而只描述public行为,所以java接口比抽类更加的抽象化。Java接口的方法只能是抽象的和公开的,jav

2016-11-04 10:32:54 2276

原创 String、StringBuffer,StringBuilder区别

String、StringBuffer、StringBuilder 1. 三者在执行速度方面的比较:StringBuilder>StringBuffer>String 2. String <(StringBuilder,StringBuffer)原因: String:字符串常量 StringBuffer:字符串变量 StringBuilder:字符串变量也就是说,String是字符串常

2016-11-04 10:18:36 206

原创 用Java语言实现五种常用排序

// 选择排序private static void select_sort(int a[]) { int i, j, t, min; for (i = 0; i < a.length - 1; i++) { min = i; for (j = i + 1; j < a.length; j++) { if (a[min] > a

2016-11-03 22:41:32 705

原创 欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2016-11-03 22:31:40 160

android 3.0

Android studio 3.0 安装,解决国外网站下载慢问题,资源安装包

2017-11-26

空空如也

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

TA关注的人

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