自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

宋铮的博客

不积跬步,无以至千里;不积小流,无以成江海

  • 博客(28)
  • 收藏
  • 关注

原创 Java线程池的使用及原理分析

概述        线程池是管理一组同构工作线程的资源池。合理利用线程池能够带来三个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,...

2019-04-30 21:44:43 2466 1

原创 剑指offer面试题19:正则表达式匹配

题目请实现一个函数用来匹配包括’.’和’*’的正则表达式。模式中的字符’.’表示任意一个字符,而‘*’表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串”aaa”与模式”a.a”和”ab*ac*a”匹配,但是与”aa.a”和”ab*a”均不匹配。class Solution {public: bool match(char*...

2018-06-08 17:16:28 607

原创 Java接口和抽象类

抽象类抽象类是用来捕捉子类的通用特性的。它不能被实例化,只能被用作子类的超类,用来创建继承层级里子类的模板。 抽象类含有一个或多个抽象方法,需通过继承被子类发现。接口接口是抽象方法的集合。如果一个类实现了某个接口,那么它就继承了这个接口的抽象方法。这就像契约模式,如果实现了这个接口,那么就必须确保使用这些方法。接口只是一种形式,接口自身不能做任何事情。区别抽象类抽象...

2018-05-16 21:20:12 284

原创 动态规划问题解决方法及示例

什么是动态规划动态规划是求解决策过程最优化的数学方法。如果一个问题可以分解成若干个子问题,并且子问题之间还有重叠的更小的子问题,就可以考虑用动态规划来解决这个问题。应用动态规划之前要分析能否把大问题分解成小问题,分解后的每个小问题也存在最优解。如果将小问题的最优解组合起来能够得到整个问题的最优解,那么就可以使用动态规划解决问题。可以应用动态规划求解的问题主要由四个特点: 1. 问题是...

2018-05-04 21:59:47 17390

原创 Spring中BeanFactory和ApplicationContext的生命周期及其区别详解

Bean的生命周期在很多技术中,都有生命周期这个概念,如在Android中,有Activity、Fragment等的生命周期;在Web容器中,有Servlet的生命周期。想要成为高级开发者,就必须要深入理解其生命周期。同样的,在Spring容器中的Bean也有一系列的生命周期,要掌握好Spring,就要先掌握Spring中Bean的生命周期。在Spring中,可以从两个层面定义Bean的生命周期:一

2017-10-23 21:20:41 12266 1

原创 ARM体系结构与编程模型总结

ARM体系结构与编程模型ARM体系结构一、ARM处理器简介及RISC特点ARM处理器简介ARM(Advanced RISC Machines)是一个32位RISC(精简指令集)处理器架构,ARM处理器则是ARM架构下的微处理器。ARM处理器广泛的使用在许多嵌入式系统。ARM处理器的特点有指令长度固定,执行效率高,低成本等。RISC设计主要特点1、指令集——RISC减少了指令集的种类,通常一个周期一条

2017-10-08 19:02:17 19224

原创 报错:java.lang.IllegalStateException: Context namespace element 'component-scan' and its parser class.

今天在将一个SSM项目部署到linux服务器上时,启动tomcat时报错:[QC] ERROR [localhost-startStop-1] org.springframework.web.context.ContextLoader.initWebApplicationContext(215) | Context initialization failedorg.springframework.

2017-10-05 15:33:32 2788

原创 深入剖析C函数参数的结合顺序及a++和++a的区别

C语言函数参数的结合顺序今天上课时老师提出了一个关于C语言的函数参数的结合顺序的问题以及a++和++a有什么区别的问题,为了弄清楚这个问题,我写了如下的代码反汇编进行分析:#include <stdio.h>#include <stdlib.h>int func(int a, int b, int c, int d);int main(){ int a = 1; int b =

2017-09-21 15:18:10 7400 9

原创 项目报错:tag 'select', field 'list', name 'factory.id': The requested list key '#factoryList' could not

SSH项目报错如下:严重: Servlet.service() for servlet jsp threw exceptiontag 'select', field 'list', name 'factory.id': The requested list key '#factoryList' could not be resolved as a collection/array/map/enum

2017-08-18 15:51:29 4001 1

原创 Spring集成Java Mail

Java Mail简单使用1、导入jar包<dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.4</version></dependency>2、使用Java Mailpublic void testJavaMail() throws Messaging

2017-08-18 10:29:29 598 1

原创 Shiro安全框架入门使用方法

框架介绍Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码学和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任 何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。Shrio的主要功能:Authentication:用户认证(登录)Authorization:权限控制Session Management:会话管理Cryptogr

2017-08-15 20:18:22 17410 1

原创 Tomcat启动时执行到Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSource...时卡住

在Eclipse中启动Tomcat时,当执行到Initializing c3p0 pool… com.mchange.v2.c3p0.ComboPooledDataSource [ acquireIncrement -> 5, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, auto

2017-08-11 20:15:00 19450 3

原创 Linux服务器端的JavaWeb项目路径正确报404

如题,将本地的Javaweb项目部署在Linux服务器上,并且路径正确,但是一直404,但是可以访问Linux上的Tomcat的ROOT中的内容,原因是web项目使用的jdk版本和Linux上的jdk版本不一致,可以修改项目编译的jdk版本,或者重新安装Linux上的jdk版本,使两者版本保持一致。

2017-05-31 13:53:51 4482 2

原创 决策树—基本原理与实战

概念        决策树(Decision Tree)是在已知各种情况发生概率的情况下,通过构成决策树来求取净现值的期望值大于0的概率,是直观运用概率分析的一种图解法。通俗的讲,决策树就是带有特殊含义的数据结构中的树结构,其每个根结点(非叶子结点)代表数据的特征标签,根据该特征不同的特征值将数据划分成几个子集,每个子集都是这个根结点的子树,然后对每个子树递归划分下去,而决策树的每个叶子结点则是数据

2017-05-30 12:55:29 8226 1

原创 出现UnsupportedClassVersionError异常的解决办法

在Linux部署JavaWeb项目时出现如下异常:错误:Java.lang.UnsupportedClassVersionError: Bad version number in .class file………………这种错误出现是因为支持Tomcat运行的JDK版本和支持Web项目运行的JDK版本不一致。解决办法:1、重新安装服务器端的JDK2、修改Web项目编译时的JDK版本步骤:在eclipse中

2017-05-23 14:27:46 2102 2

原创 K-近邻算法—基本原理与实战

概述    k-近邻算法(k-Nearest Neighbor, KNN),是一个理论上比较成熟的方法,也是最简单的机器学习算法之一,用于预测数据的类别,以及对数据进行分类。该方法的简要思路就是采用测量不同特征值之间的距离来进行分类。特点工作原理    存在一个样本数据集合,也称作训练样本集,并且样本集中的每个数据都存在标签,即我们知道样本集中每一个数据与所属分类的对应关系。当输入一个没有包含标签(

2017-05-21 20:27:44 2979 2

原创 使用IntelliJ IDEA开发JavaWeb项目

首先需要明确IDEA中的项目(project)相当于eclipse中的workspace,而IDEA中的Module才相当于eclipse中的project。如果不能理解这个,使用IDEA开发JavaWeb项目就会变得很繁琐。具体步骤安装IntelliJ IDEA(略)创建工作空间(IDEA中的project,eclipse中的workspace)点击Create New Project,创建一个p

2017-05-19 11:07:34 5933 1

原创 Android网络技术

Android网络技术一、WebViewwebView.getSettings().setJavaScriptEnabled(true); //使webView支持JavaScript脚本webView.setWebViewClient(new WebViewClient()); //使跳转网页时目标网页仍在WebView中显示,而不打开浏览器webView.loadUrl("ht

2017-02-20 17:36:52 602 1

原创 Android中的数据持久化技术

Android中的数据持久化技术一、文件存储1、将数据存储到文件中(1)使用Context类中提供的openFileOutput()方法,第一个参数是文件名(不包含路径),所有文件默认存储在/data/data/package name/files/目录下;第二个参数是文件操作模式,有MODE_PRIVATE和MODE_APPEND两种。(2)openFileOutput()方法返回一个FileOu

2017-02-18 20:39:04 1053

原创 动态添加Fragment

动态添加Fragment1、创建待添加的碎片实例XxxFragment fragment = new XxxFragment();2、获取FragmentManager,在Activity中可以通过直接调用getSupportFragmentManager()方法得到FragmentManager fragmentManager = getSupportFragmentManager();3、开

2017-02-18 20:32:30 465

原创 RecyclerView的用法

使用RecyclerView1、在app/build.gradle(Module:app)文件的dependencies闭包添加依赖compile 'com.android.support:recyclerview-v7:25.1.0'2、编写适配器类xxxAdapter,继承自RecyclerView.Adapter,并制定泛型为 xxxAdapter.ViewHolder,这个ViewHo

2017-02-18 20:32:12 589

原创 8086汇编指令笔记

8086/8088汇编指令总结一、数据传送指令1、传送指令:MOV (move) 格式:mov dst,src具体用法:(1) CPU内部寄存器之间的数据传送,如:mov ah,al(2) 立即数送至通用寄存器(非段寄存器)或存储单元,如:mov al,3 mov [bx],1234h(3) 寄存器与存储器间的数据传送,如:mov ax,var mov ax,[bx]

2016-12-29 15:36:38 6161

原创 AIDL

AIDLAIDL:Android Interface Definition LanguageAIDL是一种接口描述语言,常用于进程间通信(IPC,Inter-Process Communication),编译器会根据定义的aidl文件自动生成同名的java文件,通过预先定义的接口以及Binder机制进行进程间通信。客户端通过bindService与远程服务器建立连接,远程服务器返回一个IBinder

2016-11-23 19:23:00 417

原创 通过Binder调用Service内的方法

通过Binder调用Service内的方法有时候我们会在Android后台服务中执行一些操作,这些操作被封装成方法,因此会有在服务外调用Service内的方法的需求。Service服务中的代码package com.songzheng.androidlearning;import android.app.Notification;import android.app.NotificationMan

2016-11-23 19:22:04 1020

原创 读取SD卡文件时抛出NullPointerException

相关源码:package com.example.musicplayer;import java.io.File;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.os.Bundle;import android.os.Environment;import

2016-11-08 22:03:48 561

原创 Notification

Notification核心代码(链式调用):适用于Android 4.0以上(不兼容低版本)Notification noti = new Notification.Builder(this).setContentTitle("标题名称").setContentText("标题里的内容").setSmallIcon(R.drawable.new_mail).setLargeIcon(Bit

2016-11-08 22:03:02 414

原创 Android中通过SharedPreferences读写数据

Android中通过SharedPreferences读写数据通过SharedPreferences存储数据:一、获取SharedPreferences对象Context中的getSharedPreferences()方法Activity中的getPreferences()方法PreferenceManager中的getDefaultSharedPreferences()(static)方法

2016-09-02 16:54:43 776

原创 Android获取SD卡剩余空间

Android如何获取SD卡剩余空间SD卡总空间 = 区块数量 * 区块大小SD卡剩余空间 = 剩余区块数量 * 区块大小核心代码 File path = Environment.getExternalStorageDirectory(); StatFs stat = new StatFs(path.getPath()); long blockSize = stat.getBl

2016-09-02 15:51:35 1055

空空如也

空空如也

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

TA关注的人

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