java
文章平均质量分 60
hqm12345qw
可萌可攻,会唱歌会跳舞会写代码,爱健身爱生活软妹一枚。
展开
-
在idea中,tomcat可以启动成功,界面打不开,并且8080端口打不开
错误详情:The Origin server did not find a current representation for the target resource or is not willing to disclose that one exists.错误出现原因:项目默认使用的jdk和idea中配置的jdk不一致,修改默认jdk配置即可。...原创 2019-01-30 14:29:07 · 2425 阅读 · 0 评论 -
ftp文件的断点上传工具类
/** * 将文件上传至ftp服务器 */public class FtpUtils { private static Logger logger = Logger.getLogger(FtpUtils.class); public static FTPClient ftpClient = new FTPClient(); /** * 初始化ftp服务器,连接ft原创 2018-04-03 17:47:56 · 528 阅读 · 0 评论 -
http get Post请求工具类
测试成功,可以运行。public class CreateHttpClientUtil { /*** * httpClient post * @param url 路径 * @param list List list类型的参数 * @return * @throws Exception原创 2018-04-03 17:43:08 · 211 阅读 · 0 评论 -
java自带的加密解密
Md5加密,Base64的加密和Base64的解密:/** * MD5加密,Base64的加密和解密 * @author knot * */public class enCrypt_And_deCryptUtil { /*** * MD5加密 * @param str 需要加密的参数 * @return * @throws Exception原创 2018-04-03 15:37:17 · 5741 阅读 · 0 评论 -
idea+maven+log4j
根据文章题目就可以清晰的知道,本博主要讲解在idea环境下,配合maven引入log4j日志功能。做法如下: 1 . 在maven的本地仓库中加入相应的jar包 —>slf4j-log4j12-1.7.25.jar 2 . 在xml配置文件中进行如下配置,加入log4j依赖。<dependency> <groupId>org.apache.logging.log4j</groupId>原创 2018-04-03 15:23:36 · 1427 阅读 · 0 评论 -
Java 后台开发值得注意的---持续更新
以下,是在项目中碰到的,并且参考其他博主所得出的一些约定俗成的编码技巧。1. model 和 bean 的区别:model的字段 > bean的字段 ,且model的字段可以和 bean的字段不一致。将两个分开来理解就好,不能混为一谈。model是针对于前段页面显示数据的, bean是针对于数据库字段的映射的。两者的服务重心不同。比如:在存储日期类数据的时候,数据库(bean)存储的是 da...原创 2018-03-14 16:59:24 · 423 阅读 · 0 评论 -
ActiveMQ的测试程序
可以将ActiveMQ理解成一个服务器。 1 . ActiveMQ 的下载和安装: 下载地址: http://activemq.apache.org/download.html 下载最新版的ActiveMQ即可。 下载后直接解压到要安装的目录即可,不需要安装过程。 2 .ActiveMQ的启动: win+R –> cmd –>跳转到安装目录的bin文件夹下面 输入activemq s原创 2018-03-10 23:33:29 · 971 阅读 · 0 评论 -
Java架构之jms基础
JMS,即 Java Message Service(Java消息服务),是一个消息中间件。假设A和B要沟通,要进行消息的传递,最基础的方式是直接沟通,A发送消息,B接收消息,但是这种方式下A和B之间的耦合太强,导致后期对代码和功能的扩展受限,极其不便,所以我们引入消息中间件的概念。消息中间件作为A和B之间消息沟通的桥梁。JMS只定义了接口,并没有做出任何实现,实现JMS接口的消息中间...原创 2018-03-10 22:31:35 · 317 阅读 · 0 评论 -
设计模式系列文章
本设计模式系列文章会持续更新,链接是之前博主在博客园中所写。 设计模式一之策略模式 设计模式二之观察者模式 设计模式三之单例模式 设计模式四之适配器模式和外观模式...原创 2018-03-01 15:43:35 · 415 阅读 · 0 评论 -
杂谈-待更
1. 移动设备和后台服务之间的交互协议对比:(1) http协议:同步,无状态协议,不支持推送。单向通信,要获得信息必须由设备端自己发起请求。基于TCP/IP提供网络连接。缺点在于: Http方式的通信,都是由客户端发起的,缺乏服务器主动通知客户端的机制,在需要通知的场景下,需要客户端不断轮询服务器,反复的轮询需要耗费额外的资源。(2) mqtt协议:基于消息传递,异步,可以保持设备和服务之间的长...原创 2018-05-17 16:40:03 · 209 阅读 · 0 评论 -
Retrofit2 源码解析
看到了一篇很精辟的解析,地址是 Retrofit2源码解析很精辟,转载过来,感谢博主。转载 2018-06-11 17:24:50 · 181 阅读 · 0 评论 -
Broker简介
Broker是ActiveMQ的一个实例。我们可以将ActiveMQ看成一个服务,是需要我们下载解压后才能使用(免安装)。主要使用目的是为了将服务器和客户端解耦,用来做消息的传递。而Broker是ActiveMQ的一个简易实现,我们只需要在代码中启动Broker(用跑代码的方式启动ActiveMQ),从而实现嵌入式的ACtiveMQ。使用过程如下:(1) 运行Broker启动程序(2) 运行 se...原创 2018-06-13 15:40:22 · 27567 阅读 · 0 评论 -
java基础
1. wait() 和 sleep() 的区别:sleep没有释放锁, wait() 方法释放锁 。wait() , notify(), notifyAll()三个方法只能在同步方法或者同步控制块中使用, sleep 可以在任何地方使用。wait() 方法基于 Object, sleep()方法基于 Thread类。sleep()方法必须捕获异常,其他线程调用 interrupt()...原创 2018-11-09 08:52:23 · 299 阅读 · 0 评论 -
java基础
HashMap: 不是线程安全的,键和值都可以为空,没有锁机制。HashTable: 给整张表加锁,键和值都不能为空,采用synchronized关键字HashMap为什么不是线程安全的?HashMap没有锁机制,在HashMap内部加锁会增加单线程访问的资源消耗,即使没有多线程访问,也要每次检查加锁解锁。线程不安全主要体现在两个线程同时操作put()方法,后面的值会覆盖前面的值,...原创 2018-11-01 15:34:57 · 301 阅读 · 0 评论 -
spring(二)
spring核心是两点,一个是 IOC 容器, 一个是 AOP 切面式服务。IOC 容器,即控制反转,本来是由应用程序管理对象之间的依赖关系,现在交给了容器管理,即交给了 IOC 容器。 Spring 的 IOC 主要使用 DI(注入)的方式实现的,不需要主动查找,对象的查找,定位和创建全部由容器管理。Spring的IOC 容器是一个轻量级的容器,没有侵入性,不需要依赖容器的API,也不需要实...原创 2018-10-23 15:02:25 · 594 阅读 · 0 评论 -
代理---静态代理--动态代理
首先,明确一点:代理不会改变之前写的所有代码,代理需要继承相同的接口。那么问题来了,为什么要用到代理?假设有一个接口 UserManager, 这个接口中有很多待实现的方法,此时,有一个实现类实现了这个接口 UserManagetImpl, 并且已经上线,客户已经在使用了,所以讲道理来说,不管是接口或者实现类,都必须做到对修改关闭,对扩展开放。此时,有一个问题,如果我们需要给接口中每一...原创 2018-10-23 09:23:22 · 204 阅读 · 0 评论 -
wproxy安装以及配置
先来放一个下载链接:wproxy安装包开发过程中遇到了一些问题,假设手机要访问服务器A,但是不能直接访问,需要借助计算机B作为中间代理进行访问。之所以不能访问的原因有很多,比如内外网不能直接打通等。所以我们用到了wproxy软件。解压后安装即可,安装步骤很少,机械的下一步即可。主要是配置:假设,我们要通过手机访问A计算机,用B计算机作为中间件。点击代理配置,将本机监听的 i...原创 2018-07-27 16:33:59 · 11910 阅读 · 1 评论 -
JAVA多线程入门系列文章(2)----并发处理
非线程安全产生原因:多个线程访问同一个对象中的实例变量时,会产生脏读,也就是说可能会出现一种情况:取到的数据已经被更改掉。而线程安全就是保证取到的数据不是脏数据。所以我们才要仔细去分析,怎样才能保证线程安全,也就是怎样在代码中做一些特殊的处理,从而保证线程安全。、最基础的保证线程安全的方式是加 Synchronized关键字,此关键字可以加到方法上或者对象上,但是需要注意的是,它取...原创 2018-07-23 17:44:05 · 197 阅读 · 0 评论 -
JAVA多线程入门系列文章(1)
进程:我们可以将一个正在运行的exe程序理解成一个进程。线程:在进程中独立运行的子任务。使用线程的好处:可以最大限度的利用CPU的空闲时间来处理其他的任务,CPU在不同的线程之间快速切换,给用户的感受就是多个任务在同时运行,即异步处理,线程被调用的时机是随机的,这样大大提高了CPU的使用效率。JAVA中实现多线程的方式主要有两种:继承Thread类和实现Runnable接口,其中Thr...原创 2018-07-23 16:47:21 · 320 阅读 · 0 评论 -
一致性哈希算法
一致性哈希算法-最通俗转载 2018-06-20 15:34:17 · 199 阅读 · 0 评论 -
安卓入门基础知识
1 . 安卓的4大组件: Activity, Service, ContentProvider, BroadcastReceiver. (1) Activity一个 Activity 表示一个窗口,Activity 组件继承 Activity 基类。通过 SetContentView(View) 来显示指定的组件,通过 SetTheme(int resid) 来设置窗口的风格。Ac...原创 2018-02-26 17:03:47 · 373 阅读 · 0 评论 -
K-means算法原理以及java实现
我做了一个小例子,将k-means算法用在我最近做的一个系统中。以下介绍k-means算法。(1)k-means算法的简介本系统使用k-means算法来计算一维数据的聚集程度,实现圈子的划分,这里的一维数据是所有的点,用A、B、C、D来表示每一个点,任意两个点之间的最短距离的计算方法已经封装成为接口,直接调用即可。K-Means算法的基本思想是初始随机给定K个簇中心,按照最邻近原则把待分类样本点分到原创 2017-06-17 23:05:44 · 2667 阅读 · 0 评论 -
Dijkstra算法以及java实现_02(代码部分)
1.数据库表的设计: dijsname1和dijsname2是有向图中的两个点。qinmid是这两个点之间的亲密度,将亲密度的值作为边的权值大小。2.对数据库中数据进行增删改查操作://这里主要实现了insert(插入)操作和查找操作(通过两个点查找亲密度)package com.graduat.dao.impl;public class DijstraImpl implements Dij原创 2017-06-17 22:18:55 · 1640 阅读 · 0 评论 -
java常见加密算法
java常见的加密算法有四种: ①BASE:严格的说,属于编码格式,而非加密算法 ②MD5:信息摘要算法 ③SHA1:安全散列算法 ④HMAC:散列消息鉴别码 接下来,我们分别来分析这四种加密算法。(1)BASEpublic class BASE { /** * BASE解密 BASEDecoder() */ public static byte[]原创 2016-08-22 14:27:09 · 376 阅读 · 0 评论 -
Java面经-1
1.sizeof(): c语言中用来计算对象所占的字节个数,通常用来查看变量或者结构体等所占的字节个数。 sizeof有三种语法形式,如下:1) sizeof( object ); // sizeof( 对象 );2) sizeof( type_name ); // sizeof( 类型 );3) sizeof object; // sizeof 对象;所以:int i;sizeof(原创 2016-08-20 10:37:48 · 711 阅读 · 0 评论 -
项目02--酷我相册
项目背景:实现一个在线的相册管理系统,主要功能包括以下几点:整个项目采用struts2框架,前台页面主要是jsp,基于tomcat服务器,在eclipse编译环境下,数据库用的是mysql数据库。整个项目运行的流程图如下( 以登录为例 ): 最终整个项目历时一个月完成,所有的代码总共有6000行,因为是一次比较正式的实习项目,所以所有的东西都有文档记录。这个项目比较简单,是刚开始接触struts2原创 2016-08-20 16:22:59 · 531 阅读 · 0 评论 -
HashMap源码解读
首先我们需要在eclipse中打开HashMap源码,按住ctrl键,鼠标左键单击HashMap类,选择相应的源码所在路径,打开即可。包括注释,HashMap源码共有1189行。 HashMap源码重点: (1)HashMap表实现了Map接口,它提供可以选择的map操作,并且可以有null的键和值。 (2)除了HashMap是非线程安全的和可以有null的键和值外。HashMap和HashT原创 2016-08-19 14:19:53 · 909 阅读 · 0 评论 -
JVM (Java虚拟机) 内存管理
Java不需要开发人员显式分配内存和回收内存,而是通过JVM来自动管理内存的分配和回收 ( 即GC )。这篇博文将用通俗易懂的方式来总结 JVM。JVM的规范定义如下: 接下来我们分开来分析整个JVM。 1.JVM的内存管理:如上图所示,Sun JDK 遵照JVM的规范,将内存划分为五部分,分别为:pc寄存器、JVM方法栈、本地方法栈、JVM方法区、JVM堆。pc寄存器和JVM方法栈:每个线程均原创 2016-08-29 17:49:28 · 514 阅读 · 0 评论 -
线程安全
1.线程是轻量级进程,由操作系统负责调度,线程没有独立的存储空间。 2.JVM的动态内存管理: (1)涉及到cpu,寄存器,高速缓存和内存。cpu读取数据的顺序:寄存器–>高速缓存–>内存。线程的工作内存指的是cpu的寄存器和高速缓存的抽象描述。工作内存这个概念后期会经常提到,大家注意搞清楚它的本质。 (2)Java中多个线程共享一个主内存,每个线程都有自己的工作内存,用来存储主存中某些对象的原创 2016-07-21 13:14:51 · 282 阅读 · 0 评论 -
项目01——图书进、销、存(jxc)系统(单机版)
首先,在此我想感谢 私塾在线 的 wb 老师! 图书的(jxc)系统是我一边看wb老师的在线视频课,一边跟着做出来的项目。本博客是我的一点小小心得。Ⅰ 内容和目标简介 本系统主要包含用户、图书、进货、销售和库存五个模块,界面采用Swing,后台采用MVC模式,主要实现功能如下: (1)能进行操作用户的注册、登录、删除、查询和信息修改。 (2)能实现对图书基本信息的增删改查 (3)能填写进原创 2016-07-29 18:35:39 · 1316 阅读 · 0 评论 -
ssh集成(struts2+spring+hibernate)
思想: (1)利用struts2的标签来编写jsp文件,利用struts2表单验证框架来验证提交的表单,利用struts2国际化规范页面显示。(2)Struts2控制器通过DBOperator对数据库进行相应操作,DBOperator中代码操作数据库,完成对数据库的增删改查操作,并且负责连接数据库,实现spring和hibernate的集成。(3)Spring+Hibernate—->底层数据库原创 2016-06-20 22:21:21 · 595 阅读 · 0 评论 -
Hibernate(ORMapping) 上手实例与配置过程
利用一晚上的时间配置了一下Hibernate,做了一个简单的demo练习实现对数据库的增删改查,接下来我一步步的分析并且会指出每一步大家该注意的地方。 首先引进jar包:接下来,我们来看一下目录:好了,现在就开始我们的工作: 1 . 建立实体类User,和数据库中的表有对应关系,实现每个属性的get和set方法(有三个属性),并实现可序列化。package User;import java.i原创 2016-09-13 01:16:01 · 1839 阅读 · 0 评论 -
Hibernate查询和连接池技术
Hibernate支持的两种主要查询方式:HQL查询 和 Criteria 查询 接下来,我们先来介绍HQL查询语言:HQL查询语言是一种面向对象的查询语言,使用类、对象和属性的概念,没有表和字段的概念。HQL优点:查询结果直接保存在List中,不需要再次封装。可以通过配置dialect属性对于不同数据库生成不同的sql查询语言。HQL查询的过程是:获得session-->编写HQL语句--原创 2016-09-13 02:10:41 · 347 阅读 · 0 评论 -
经典笔试编程题--Java实现
1.输入一个正数n,输出所有和为n的连续正数序列。 分析:设定两个指针,min指向和为n的连续正数序列的最小值,max指向和为n的连续正数序列最大值。sum表示真正的和。 初始情况下,min、max和sum 都指向1. 当sum小于n时,max++; 当sum大于n时,min++; 当sum等于n时,输出整个序列。public class a {public static void ge原创 2016-08-08 18:05:04 · 51820 阅读 · 0 评论 -
Dijkstra算法以及Java实现
(1)Dijkstra算法简介Dijkstra算法是典型的用来求最短路径的算法,主要用来计算有向图中从起始点到其他所有点的最短路径.该算法采用贪心的思想,每次都查找与起始点距离最近的点,并将结果输出.该算法的主要特点是每次迭代的时候选择的下一个顶点是标记点之外距离源点最近的顶点.一般情况下,该算不能用来解决存在负权边的图。(2)Dijkstra算法的设计思想s为源,w[u,v] 为点u 和v 之间原创 2017-06-17 22:02:41 · 3504 阅读 · 0 评论 -
ajax+servlet实现注册验证(验证用户名是否存在)
做项目过程中,需要用到 ajax 实时验证注册的用户名是否已经存在。所以写了一个小例子,经过测试直接可用。主要分为4个文件,分别为 web.xml 文件,login.jsp文件,login.js 以及 LoginServlet.java文件。 在eclipse中新建项目,文件的存放树如下: 注意引进所需的 jar 包.1 . login.jsp<%@ page language="java原创 2017-04-19 15:07:47 · 16519 阅读 · 0 评论 -
忘记mysql初始密码
当我们忘记mysql初始密码的时候,无法去创建新的数据库和表,所以要在dos下修改密码(跳过密码登陆直接修改)。 1 . 进入dos窗口,停止mysql服务:net stop mysql 2 . 进入mysql的安装目录,进入bin目录 3 . mysqld –skip-grant-tables 4 .重新打开一个dos窗口,进入mysql的bin目录 5 . mysql -u root原创 2017-03-13 10:00:49 · 16312 阅读 · 0 评论 -
问题集锦--eclipse
1 . tomcat配置成功,且可以正常启动,但是在浏览器输入端口号之后,出现404错误。 问题在于tomcat的配置路径出现问题,默认是eclipse自带的路径,不是之后修改后的。 解决办法:(1) 关闭服务器(右键关闭即可) (2) 双击上图中的Tomcat,出现下图所示的选项,默认选择为第一个,我们只需要选中第二个,保存即可解决404的问题。(3) 如果上图部分区域显示的是只读的模式,右原创 2016-12-19 18:44:35 · 346 阅读 · 0 评论 -
java I/O解析
1 . Java I/O是一套Java用来读写数据 ( 输入和输出 ) 的API。Java I/O包主要涉及文件、网络数据流、内存缓冲等的输入和输出。 2 .关于 InputStream、OutPutStream、Reader、Writer的解释:(1)流分为字节流和字符流,字节流用InputStream和OutputStream来实现,字符流用Reader和Writer来实现。(2)Input原创 2016-09-20 01:05:26 · 415 阅读 · 0 评论 -
java源码中的nio包和I/O模型
Java nio 包,可以理解为( new io )。 标准io的缺点:(1) 当客户端多时,会创建大量的处理线程。且每个线程都要占用栈空间和一些CPU时间(2) 阻塞可能带来频繁的上下文切换,且大部分上下文切换可能是无意义的。nio 提供了和标准 io 不同的工作方式:(1) 采用 Buffer 和 Channel .标准的IO基于字节流和字符流进行操作的,即 Byte + Stream原创 2016-08-26 14:55:00 · 670 阅读 · 0 评论