- 博客(18)
- 资源 (1)
- 收藏
- 关注
原创 DFS深入理解之-8皇后问题
在8*8格的国际象棋上摆放8个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行,同一列,或者同意斜线上,问一共有多少种摆法?解题思路:DFS深度递归;按照从上往下的顺序放置皇后,每列只能放置一个皇后;每次放置一个皇后前,先判断当前位置的同行,对角线位置是否已经放置了皇后,若放置,则当前位置不放置皇后,回溯至原来,找下一个位置;若没有,则选择当前点,继续广度,深度递归,直接所有皇后都放置结束;这里定义一个二维数组来存放记录某个位置是否已经放置了元素;代码如下:public class Main {
2021-11-28 22:41:53
547
原创 调用内部类的私有方法,其中内部类和外部类的构造器都是私有的
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
1469
原创 实现一个多线程下载
运用我们学过的HttpURLConnection网络编程,可以实现多线程下载: 代码如下:public class DownUtil { // 定义下载资源的路径 private String path; // 指定所下载的文件的保存位置 private String targetFile; // 定义需要使用多少线程下载资源 private in
2016-12-24 17:41:13
350
原创 如何编写一个简单群聊
运用学过的Tcp网络编程可以实现一个简单的群聊,其代码如下:服务器端的代码如下:public class TcpServer { //因为ArrayList本身不是线程安全的,所以通过集合Collections.synchronizedList将其转换为一个线程安全的类 public static List<Socket> listSocket = Collections.synchro
2016-12-24 17:11:25
681
原创 浅谈网络编程技术(TCP、UDP、HTTP)
在介绍这三种编程技术之前,先说一下网络编程的三要素:IP地址:网络中计算机的唯一标识端口:正在运行程序的标识(有效的端口区间在0~65535之间,其中0~1024系统使用或保留端口)协议:通信的规则 举一个简单的例子: 我要和某人说话,这个步骤流程是什么? 首先,我要找到说话的对象(通过IP地址找到的); 然后,开始对她说话,怎么说,要对着耳朵说(端口); 说了什么,I love y
2016-12-23 14:46:58
974
原创 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
251
原创 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
329
原创 如何获取Android的屏幕大小
一、该方法返回一个DisplayMetric类型的对象//获取当前屏幕尺寸的大小private static DisplayMetrics getMetrics(Context context) { DisplayMetrics metrics = new DisplayMetrics(); WindowManager manager = (WindowManager) conte
2016-11-22 01:17:02
517
原创 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
437
原创 Java中的单例模式
一、概述: 单例模式的写法有好几种,这里主要有三种:懒汉式单例、饿汉式单例、登记式单例。 单例模式有以下特点: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动
2016-11-07 09:49:30
226
原创 Java集合ArrayList,Vector,LinkedList
ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数组元素移动等内存操作,所以索引数据快插入数据慢,Vector由于使用了synchronized方法(线程安全)所以性能上比ArrayList要差,LinkedList使用双向链表实现存储,按序号索引数据需要进行向前或向后遍历,但是插入数据时只需要记
2016-11-04 18:07:42
244
原创 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
295
原创 Java中final和static
一、 final根据程序上下文环境,java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能处于两种理解而需要阻止改变:设计或效率。Final类不能被继承,没有子类,final类中的方法默认是final的 Final方法不能被子类的方法覆盖,但可以被继承 Final成员变量表示常量,只能被赋值一次,赋值后值不再改变。 Final不
2016-11-04 13:43:12
293
原创 Android中View的双击,多击实现方法
一、第一种双击方式:在这里用到Android开发者最青睐的一种注入框架ButterKnife来写了一个点击事件,他可以节省很多的代码,后面可能会讲,此处不再赘述!我们知道,android有一个System.currentTimeMills()方法:该方法的作用是返回当前的计算机时间,时间的表达格式为当前计算机时间和GMT时间(格林威治时间)1970年1月1号0时0分0秒所差的毫秒数。此处,我们运用了
2016-11-04 11:46:20
3745
原创 接口和抽类概念,区别
接口和抽类概念,区别 一、 接口(Interface):是一系列方法的声明,是一些方法特征集合,一个接口只有方法没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)二、 接口的含义Java接口没有任何的实现,因为java接口比涉及表象,而只描述public行为,所以java接口比抽类更加的抽象化。Java接口的方法只能是抽象的和公开的,jav
2016-11-04 10:32:54
2353
原创 String、StringBuffer,StringBuilder区别
String、StringBuffer、StringBuilder 1. 三者在执行速度方面的比较:StringBuilder>StringBuffer>String 2. String <(StringBuilder,StringBuffer)原因: String:字符串常量 StringBuffer:字符串变量 StringBuilder:字符串变量也就是说,String是字符串常
2016-11-04 10:18:36
235
原创 用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
743
原创 欢迎使用优快云-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2016-11-03 22:31:40
198
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人