-
Python 遍历循环详细
目录 一.基本用法 二.计数循环 三.字符串遍历循环 四.列表遍历循环 五.文件遍历循环 六.遍历循环的扩展模式 一.基本用法 for <循环变量> in <遍历结构>: <语句块> 遍历结构可以是字符串.文件.组合数据类型或range()函数等. 二.计数循环 for i in rang(N): 遍历由range()函数产生的数字序列,产生循环 for i in rang(M,N,k) 指从M开始,到N-1,以K为步长 for i in range(1,6,2): p
-
半小时实现Java手撸网络爬虫框架(附完整源码)
最近在做一个搜索相关的项目,需要爬取网络上的一些链接存储到索引库中,虽然有很多开源的强大的爬虫框架,但本着学习的态度,自己写了一个简单的网络爬虫,以便了解其中的原理.今天,就为小伙伴们分享下这个简单的爬虫程序!! 首先介绍每个类的功能: DownloadPage.java的功能是下载此超链接的页面源代码. FunctionUtils.java 的功能是提供不同的静态方法,包括:页面链接正则表达式匹配,获取URL链接的元素,判断是否创建文件,获取页面的Url并将其转换为规范的Url,截取网页网页源
-
Spring中为bean指定InitMethod和DestroyMethod的执行方法
1.创建一个类 /** * @author: zhaobin * @date: 2021/11/25 10:16 * @description: */ public class Cat { public Cat(){ System.out.println("先初始化构造器"); } public void start(){ System.out.println("start方法"); } public void destroy(){ System.out.print
-
Android ActivityManager使用案例详解
前言 Activity可以获取运行中的应用信息,可以获取到servcie,process,app,memory,Task信息等. 获取信息 ActivityManager.MemoryInfo MemoryInfo中重要的字段:availMem(系统可用内存),totalMem(总内存),threshold(低内存阈值,即低内存的临界线),lowMemory(是否为低内存状态) Debug.MemoryInfo Debug.MemoryInfo主要用于获取进程下的内存信息. ActivityMa
-
Android四大组件之Activity深入解读生命周期
目录 一.什么是Activity 二.Activity之间的跳转 三.Activity 生命周期 3.1.Activity生命周期的基本状态 3.2.Activity 生命周期的7个方法 3.3.Activity 生命周期的三个循环 简介:在Android组件中最基本也是最为常见的四大组件: Activity Service服务 Content Provider内容提供者 BroadcastReceiver广播接收器 一.什么是Activity Activity是一个应用程序组件,提供一个屏幕,
-
Tornado Web Server框架编写简易Python服务器
我们都知道在Web开发中,都需要服务器,比如Java Web开发的Tomcat,WebLogic,WebSphere,现在来看利用Tornado Web Server框架如何写一个简易的Python服务器. 一般来说只需要实现get和post方法就可以了.以上次使用redis数据库的例子说明,数据库插入代码如下: import redis import datetime class Database: def __init__(self): self.host = 'localhost' sel
-
浅析JSONP技术原理及实现
跨域问题一直是前端中常见的问题,每当说到跨域,第一浮现的技术必然就是JSONP JSONP在我的理解,它并不是ajax,它是在文档中插入一个script标签,创建_callback方法,通过服务器配合执行_callback方法,并传入一些参数 JSONP的局限就在于,因为是通过插入script标签,所以参数只能通过url传入,因此只能满足get请求,特别jQuery的ajax方法时,即使设置type: 'POST',但是只要设置了dataType: 'jsonp',在请求时,都会自动使用GET请
-
asp.net中的“按需打印”(打印你需要打印的部分) 实现代码
过程很简单: 首先在asp.net页面中设定开始打印和结束打印的标记,为了确保该标记不在网页浏览时显示,我们采用"<!-- HTML注释 -->"的方式.比如:<!--startprint-->和<!--endprint-->. 接着写相关的JavaScript代码,具体代码见后. 如果不想打印按钮也被打印出来,注意将打印按钮包含在<!--startprint-->和<!--endprint-->之外. 相关代码: 复制代码
-
centos 下docker 安装方法
这里只介绍比较简易的安装方式: 一.使用yum安装 最好更新一下yum sudo yum update 直接安装 sudo yum install -y docker 此方法最简单,但是版本比较老: sudo docker version Client: Version: 1.13.1 API version: 1.26 Package version: docker-1.13.1-75.git8633870.el7.centos.x86_64 Go version: go1.9.4 Git c
-
Android实现圆形纯数字按钮
最近在搞一个数字拨号按键按钮,就想到使用GridView,但在实现中遇到点问题,在给数字键进行圆形状态键设置时发现一个问题,GridView中自带的原生选择矩形按钮总是存在,于是就想到了让其状态背景设置成透明. 一.自定义按钮控件RelativeLayout public class KeyboardView extends RelativeLayout { Context mContext; private GridView gridView; private List<Map<String
-
Docker安装(Ubuntu 64bit)的方法步骤
内核支持 如果我们使用的ubuntu系统是14.04之前的版本,我们需要先升级内核. $ sudo apt-get update $ sudo apt-get install linux-image-extra-$(uname -r) linux-image-extra-virtual $ sudo reboot 添加GPG密钥 Docker安装 首先需要安装apt-transport-https支持和Docker库的密钥. $ sudo apt-get install apt-transpor
-
Android中巧妙的实现缓存详解
前言 缓存有很多的实现方式,技巧性还有坑都很多,今天我给大家介绍一些非通用的方法,可以巧妙地帮大家简单实现一些内存缓存. Supplier和Memoize SQLite是Android里常用的一种数据存储方式,在访问数据库数据时需要通过SQLiteOpenHelper. 一份好的数据库连接代码应该能解决以下几个问题: a) 构建实例比较费资源 b) 数据库连接最好能复用 c) onUpdate等方法在执行时不能和其他实例构成冲突. 这里可以很简单的这样写 Suppliers.memoize(ne
-
java评论、回复功能设计与实现方法
目录 效果展示 数据库设计 数据库设计思路: 实现类源码 获取帖子下的评论 获取评论下的回复 获取二级回复 总结 最近实现了评论和回复.点赞.@的功能.在这里分享一下我的设计思路(先分享评论和回复功能).希望各位读者给出一些不一样的建议后期改进. 效果展示 总共是两层回复 (回复评论.回复评论下的回复) 数据库设计 评论表(TFW_Comments)和回复内容表(TFW_UserResponse)以及评论回复关系表(TFW_MsgRelation) 数据库设计思路: 注:各位读者自动忽略评论表的
-
深入了解Golang官方container/heap用法
目录 开篇 container/heap 核心函数 Init Pop/Push Remove Fix 如何接入 IntHeap 优先队列 按时间戳排序 总结 开篇 在 Golang 的标准库 container 中,包含了几种常见的数据结构的实现,其实是非常好的学习材料,我们可以从中回顾一下经典的数据结构,看看 Golang 的官方团队是如何思考的. container/list 双向链表: container/ring 循环链表: container/heap 堆. 今天我们就来看看 cont
-
Spring源码解析之Bean的生命周期
一.Bean的实例化概述 前一篇分析了BeanDefinition的封装过程,最终将beanName与BeanDefinition以一对一映射关系放到beanDefinitionMap容器中,这一篇重点分析如何利用bean的定义信息BeanDefinition实例化bean. 二.流程概览 其实bean的实例化过程比较复杂,中间细节很多,为了抓住重点,先将核心流程梳理出来,主要包含以下几个流程: step1: 通过反射创建实例: step2:给实例属性赋初始值: step3:如果Bean类实现B
-
Spring中Bean的作用域与生命周期详解
目录 一.Bean的作用域 1.单实例Bean声明 2.多实例Bean声明 二.Bean的生命周期 1.bean的初始和销毁 2.bean的后置处理器 总结 一.Bean的作用域 首先我们来讲一下有关于bean的作用域, 一般情况下,我们书写在IOC容器中的配置信息,会在我们的IOC容器运行时被创建,这就导致我们通过IOC容器获取到bean对象的时候,往往都是获取到了单实例的Bean对象, 这样就意味着无论我们使用多少个getBean()方法,获取到的同一个JavaBean都是同一个对象,这就是
-
jackson 实现null转0 以及0转null的示例代码
需求背景 最近遇到一个需求,有个数值类型的字段,非必填,默认为空,数据库表针对该字段设计的是一个int类型, 由于dba推荐规范,默认该值是not null.这个时候,问题就来了,数据库默认存的是0,前端展示时,又不能显示这个0(需要的是null) 解决方案 针对此类处理,通常的方案有以下2种: 前端做处理,统一对0和null做处理,0即是null,null即是0 后端做处理,针对要处理的字段,在序列化之前或者之后做处理,或者采取硬编码的方式,针对要处理的字段,写if else 方案分析 针对第
-
用golang如何替换某个文件中的字符串
用golang实现了某个文件中字符的替换,替换为按行替换,执行后会生成新文件,如a.txt,执行后生成a.txt.mdf.新文件即修改后的内容. 主要用来练习文件的读取与写入 package main import ( "bufio" "fmt" "io" "os" "strings" ) func main() { if len(os.Args) != 4 { fmt.Println("lack
-
Python如何绘制概率分布直方图浅析
目录 前言 一.代码 二.运行效果 总结 前言 直方图是一个可以快速展示数据概率分布的工具,直观易于理解,并深受数据爱好者的喜爱.大家平时可能见到最多就是 matplotlib,seaborn 等高级封装的库包,类似以下这样的绘图. 一.代码 1.案例一 import random import numpy as np import matplotlib.pyplot as plt X = np.random.normal(loc=10, scale=2, size=(1, 1000))[0]
-
C#内存管理CLR深入讲解(上篇)
半年之前,PM让我在部门内部进行一次关于“内存泄露”的专题分享,我为此准备了一份PPT.今天无意中将其翻出来,觉得里面提到的关于CLR下关于内存管理部分的内存还有点意思.为此,今天按照PPT的内容写了一篇文章.本篇文章不会在讨论那些我们熟悉的话题,比如“值类型引用类型具有怎样的区别?”.“垃圾回收分为几个步骤?”.“Finalizer和Dispose有何不同”.等等,而是讨论一些不同的内容.整篇文章分上下两篇,上篇主要谈论的是“程序集(Assembly)和应用程序域(AppDomain)”.也许
