自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 问答 (2)
  • 收藏
  • 关注

原创 Java自学第一阶段(一)-君欲善其事,必先利其器

工欲善其事,必先利其器想要学习编程,首先要了解:1程序写在哪里? 2.写完的程序,怎么运行? 3.现在职场用的比较多的是哪些?问题1:程序写在哪里?其实Java程序可以写在记事本里,只是存储的时候存为***.java文件就可以了所以程序可以写在很多软件中。这些软件,通常称为IDE工具,即集成开发环境(...

2020-05-11 23:34:04 185

原创 Java自学第一阶段(四)-万能的变量(2)

回顾:1.声明变量:【变量类型】 【变量名称】 2.变量类型:8种基本数据类型和引用类型(复合数据类型) 3.变量名称:【字母_$】+【字母数字_$】,支持中文,不提倡,大小写敏感练习题答案:int 123go=100; //变量名,不允许数字开头int 成绩=60; //变量名,中文可以,但不提倡int break =200;//break是保留字,不能使用int score = 80;System.out.println(S...

2020-05-13 23:55:04 302

原创 Java自学第一阶段(三)- 万能的变量

回顾:1.编写的第一个Java程序,并且用javac编译指令 编译生成.class字节码文件2.使用java 运行指令,运行字节码文件3.了解多Java一次编译处处运行的特点-----------------------------------------------------------------------------------------------------------------------------------------------作业答案:public .

2020-05-13 22:59:23 301

原创 Java自学第一阶段(二)- 小试牛刀

回顾:1.可以在记事本中写Java程序,只要存储的时候以.java为后缀 2.Java程序想要运行,需要搭建jdk环境 3.常用的jdk版本为jdk8,近期应用比较广泛的开发IDE工具是eclipse ,Idea今日重点:1.记事本编写第一个Java程序 2.编译运行 3.了解Java程序的编译,运行过程操作步骤如下:步骤1:打开记事本,键入如下代码```//public ...

2020-05-12 23:10:02 498

原创 synchronized+Integer模拟火车票预售,出现的问题总结

实现火车票预售,必然会出现线程安全问题,开始用原子类AtomicInteger,后面觉得Lock也可以实现,用Lock 也是实现了下,在用Synchronized实现的时候,出现了下面的问题;1.首先大家抢票,那我定义一个Integer类型的count   用来存放火车票数(从这里开始就已经为后面的代码埋下了雷啊!)2.创建抢票线程类,在这个类的run方法中对count加锁,进行票减少操作...

2018-08-30 18:59:15 368

原创 Maven搭建SSM框架(eclipse)

1.新建Maven工程,需要注意的是:在Archetype上,选择Artifact Id为maven-archetype-webapp的那项。 2.在Build Path里添加Tomcat的JAR包支持。成功之后的工程项目结构如图所示: 3.此时可以开始添加Spring,SpringMVC,Mybatis,MySQL,Druid,Log4j等支持。pom.xml依赖...

2018-08-30 00:51:40 192

原创 Tomcat8源码在Eclipse中调试(一)-源码编译,及在Eclipse中启动

最近想要走读下Tomcat8的源码,因此做一下记录;1.下载Tomcat8,下载路径http://tomcat.apache.org/download-80.cgi  下载tomcat8.0.532.将下载好的压缩包,解压    以下是我的路径  E:\apache-tomcat-8.0.53-src3.下载ant 对源码进行编译   【编译的目的是编译出tomcat源码运行时需要...

2018-08-24 00:09:50 1599

原创 Java中的enum

在做项目的过程中,经常会遇到订单的不同状态,比如定义为: //未支付 public static final int ORDER_DEPOT_UNPAY = 0; //已支付 public static final int ORDER_DEPOT_PAYED = 1; //支付超时 public static final int ORDER_DEPOT_TIMOUT = 2;...

2018-08-17 00:38:40 276

原创 构造方法参数过多该如何解决?-建造者模式

在编码的过程中,不可避免的遇到一个类有很多的成员变量,为了代码的健壮性,大家挖空心思地写各种构造方法,构造方法写到郁闷,貌似还没有全部包含,这个时候推荐大家用建造者模式!以下为具体的实现代码:public class Goods { private final String goodsId; private final String goodsName; private final S...

2018-08-16 20:04:42 688 1

转载 ConcurrentHashMap实现原理及源码分析(转载)

ConcurrentHashMap实现原理及源码分析  ConcurrentHashMap是Java并发包中提供的一个线程安全且高效的HashMap实现(若对HashMap的实现原理还不甚了解,可参考我的另一篇文章HashMap实现原理及源码分析),ConcurrentHashMap在并发编程的场景中使用频率非常之高,本文就来分析下ConcurrentHashMap的实现原理,并对其实现原理进...

2018-08-10 13:52:30 183

原创 自己动手写SpringMVC(七)

最后一个任务:任务五:实现doGet()  doPost()方法;代码中调用了hand()方法,基本原理和以前的差不多,因此不做详细说明!@Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this....

2018-08-08 22:01:01 181

原创 线程并发工具类-CountDownLatch与CyclicBarrier区别

首先抛个概念:CountDownLatch:一个线程等待其他线程完成工作以后再执行,相当于加强版的join,初始化的时候,给定一个数值,通过调用countDown()方法,对这个数值进行减一操作,通过调用await()方法,让当前线程等待,直到数值减到0的时候,所有await的线程开始运行。例子:视频会议,开视频会议的人有10个人,是否开始视频会议,决定条件是:人员是否到期,换句话就是没有...

2018-08-07 14:41:30 200

原创 自己动手写SpringMVC(六)

已经分析过DispatcherServlet主要的任务,分为五个任务,任务一:把项目中所有的bean扫描,进行维护,任务二:根据全类名创建bean实例,并进行维护;本篇文章来实现任务三,任务四;任务三:根据bean进行依赖注入; //把service注入到控制层 public void doIoc(){ if(beans.entrySet().size()<=0){ S...

2018-08-03 16:37:03 191

原创 自己动手写SpringMVC(五)

已经分析过DispatcherServlet主要的任务,分为五个任务,任务1:把项目中所有的bean扫描,进行维护,我们已经完成,现在第二个任务:根据全类名创建bean实例,并进行维护;其实写到这里就要恶补一下反射的相关知识了:1.如何通过类的信息,获得这个类的类类型Class<?>   c1 = Class.forName("com.tx.Foo");2.知道一个类的...

2018-07-29 22:41:35 273

原创 自己动手写SpringMVC(四)

本文将主要实现DispatcherServlet!之前已经分析过DispatcherServlet主要的任务,分为五个任务,我们从任务一开始开始实现!任务1:把项目中所有的bean扫描,进行维护;实现代码如下:private void scanPackage(String basePackage){ URL url = this.getClass().getClassLoad...

2018-07-29 00:42:32 168

原创 自己动手写SpringMVC(三)

此篇我们开始写DispacherServlet之前先好一个包含query方法的Controller,以及Controller里调用的Service接口,以及此接口的实现类:首先代码结构图如下:1.Controller  中实现代码如下:@Controller@RequestMapping("/student")public class StudentController {...

2018-07-29 00:21:05 232

原创 自己动手写SpringMVC(二)

  估计看了上篇博文,大家都已经开始查看DispatcherServlet的源码,今天我们先不看源码,直接根据DispatcherServlet实现的功能;   现在开始分析DispatcherServlet需要实现什么功能?  SpringMVC里最好用的地方,应该是注解吧,因此我们需要完成如下任务: 任务一:把项目中所有的bean扫描,进行维护;任务二:根据全类名创建bean实...

2018-07-28 15:00:48 177

原创 自己动手写SpringMVC(一)

看了很久的源码,为了能更深刻的理解,自己动手定义一个属于自己的简单SpringMVC;此示例没有考虑任何持久层的内容。客户端发来请求   http://ip:port/项目名称/类路径/方法路径根据ip和port可以唯一确定是哪个服务器项目名称可以唯一确定是哪个项目类路径可以唯一确定是哪个处理类方法路径可以唯一确定是哪个方法如果客户端浏览器访问:http://192..16...

2018-07-28 12:47:32 295

转载 JAVA面向接口的编程思想与具体实现

开发中定义的那么多接口,到底有啥用?      面向对象设计里有一点大家已基本形成共识,就是面向接口编程,我想大多数人对这个是没有什么觉得需要怀疑的。问题是在实际的项目开发中我们是怎么体现的呢? 难道就是每一个实现都提供一个接口就了事了?反过来说,你有时候有没有觉得接口是多余的事? 又或者,你仅仅是觉得现在类似spring这样的框架已习惯用接口这种方式而心存当然。         设计模式解...

2018-07-26 18:37:36 2589 4

原创 框架的低侵入如何理解?

低侵入,高侵入的主要区别是:想要去除此框架或者模块时,代码的改动大小低侵入:去除此框架后,只需要修改一些配置信息,即可,反之,即是高侵入举个例子:低侵入:如果一个web项目用了低侵入的A框架,有一天,需求方要求技术更新,放弃使用A框架,要使用B框架,程序猿们只需要把与A框架相关的配置信息注释或者删除,把B框架加入。高侵入:如果一个web项目用了高侵入的C框架,有一天,需求方要求技术...

2018-07-24 11:54:50 2834 1

原创 Eclipse中.properties文件中文显示编码问题

1.设置eclipse工作空间的编码   window->preference->general->workspace->text file encoding (左下角)->other->utf-82.设置之前项目的编码   项目名称单击右键->properties->resource->test file encoding->oth...

2018-07-20 10:14:04 10741 3

原创 SpringBoot之用户操作相关代码(暂时没有添加数据库)

SpringBoot项目中可以运行HelloBoot,咱们继续加入一些内容,针对用户进行增删改查操作;eclipse中创建一个空白的SpringBoot项目,并在pom.xml中添加web信息,之后项目的基本结构如下图:现在我们在项目中添加entity类User,添加web处理类,添加测试类添加完毕后,项目结构如下:备注:1.src/main/java    创建包com....

2018-07-19 23:02:37 330

原创 SpringBoot之HelloWorld

环境: jdk1.8工具:eclipse-neon   stsspringboot 2.0.3步骤1:eclipse   new->Sprint starter project 步骤2:点击上图next,按照下图填写内容,当然也可以默认:步骤3:点击上图next步骤4:点击finish或者next,点击next后,会出现下图所示:步骤5:点击fin...

2018-07-19 18:53:28 126

原创 SpringBoot开发之工具篇-eclipse-neon+sts

最近做的项目需要使用SpringBoot,考虑再三还是打算在eclipse中开发,所以在这里记录一下工具中插件安装过程。一开始使用的是eclipse-mars版,通过help->eclipse Marketplace下  搜索sts安装,安装第一次提示时间过长,重新安装一次,就安装成功了,但是出现的问题是创建sprintboot项目总是报错,而且启动不了,怀疑可能是安装的版本有问题,没找...

2018-07-19 18:33:36 1430

原创 python-操作配置文件模块简介

在做项目的过程中经常会用到各种的配置文件:ini,conf,xml   今天以ini为例,介绍一下配置文件操作模块configparserm,以下代码在python3中可以正常运行import configparser#写配置信息到配置文件def writeConfig(filename): config = configparser.ConfigParser() # set...

2018-07-16 10:19:59 530

转载 一个python程序猿的成长

不久前,在互联网上出现了一篇有趣的文章,讲的是对于同一个问题,不同层次的Python程序员编出的Python代码显示出了不同的风格,代码都 很简单,有趣。编程新手def factorial(x):if x == 0:return 1else:return x * factorial(x – 1)print factorial(6)一年编程经验(Python)def Factorial(x...

2018-07-14 14:40:22 269

原创 python-字符串的输出

开发过程中必然会用到很多字符串,以及字符串的输出,这里讲python中字符串及其输出整理如下:1.常见的纯字符串输出a = "Hello"b = "Python" print(a + b)输出结果:HelloPythonprint(a * 2)输出结果:HelloHelloprint(a[1])   输出结果:eprint(a[1:4]) 输出结果:ell但是如果运行输出:p...

2018-07-14 13:41:10 33432

原创 Python开发环境搭建之Java对比 (一)

  如果没有学过Java语言或者其他编程语言的,希望别看这些文章,直接找本Python的基础知识或者Python的相关文档看看,这里之所以这么写,其实是因为个人工作经验的原因,写过几年Java,今年写的项目都是Python做的,所以把从Java转Python的一些对比学习的内容记录一下,希望可以帮到一些朋友!   用过Java开发的码农们,应该都知道,这种高级语言,第一步都是搭建环境!首先要装JD...

2018-07-10 21:22:31 595

转载 HashMap存储原理以及与hashcode、equals方法的关系

一、HashMap 源码:public class HashMap<K, V> extends AbstractMap<K, V> implements Cloneable, Serializable { private static final int MINIMUM_CAPACITY = 4;... transient HashMapEntry<...

2018-07-10 20:10:44 2239

原创 python-数据类型之Java对比学习(二)

学过Java的都知道,Java数据类型分为基本数据类型和复合数据类型;其中基本数据类型有8种,其余都是复合数据类型;Java基本数据类型:整数类型(byte,short,int,long),浮点数类型(float,double),字符类型(char),布尔类型(boolean)Java复合数据类型:基本类型以外的类型(String,Date.......)Python与Java在变量这里最大的区别...

2018-07-10 20:10:18 1066

原创 python-类定义 基础之Java对比学习(三)

python,Java都是面向对象语言,这里对比学习一下类的定义:首先,类其实是自己定义的一种数据类型,或者数据结构,那么类中可以有描述事物特性的属性以及描述事物功能的方法,因此一般类的结构如下:class 类名:   普通属性(普通成员变量)   静态属性(静态成员变量/类属性)    构造方法    普通方法    静态方法(类方法)1、普通属性,也就是对象的属性,通过对象调用,python中...

2018-07-10 18:15:26 203

原创 python-集合基础之Java对比学习(五)

很多语言中都有集合的概念,由于之前写了很多年的Java所以,学习的时候会对比学习,知识点总结如下:python     list            有序        可重复       可修改       list-demo = [1,2,3]                 tuple        有序         可重复       不可修改   tuple-demo = (1,2...

2018-07-10 17:50:49 307

原创 python3下import MySQLdb出错问题

最近写了抓取数据,存放在mysql相关的代码,代码调试通过后,因为各种原因,更换服务器,因此根据出现的问题整理一下:同样的代码,根据记忆一步一步的安装相应的包,(因为项目开发比较紧,所以没有及时的更新相应的文档)出现了,python3-scrapy1.5.0-使用到import MySQLdb  没多想就去通过pycharm下载安装MySQLdb,安装一直失败,后来突然想起来,python2下是使...

2018-05-02 14:27:55 17527 1

原创 scrapy爬取图片,自定义图片下载路径和图片名称

最近在做一个爬去某奢侈品网站图片的项目,需要把不同网站上爬取得图片放在不同的目录下,而且需要自定义图片的名称,图片下载一般都会用到ImagesPipeline,因此,通过查看源码,在Python3-scrapy1.5版本下,代码如下:pipeline.py中添加如下代码:class GoodsImagePipeline(ImagesPipeline): def get_media_req...

2018-04-29 11:09:29 1767 2

原创 pycharm中打开scrapy项目,import scrapy报错问题

    因为手头的Python项目有2.7,有3.6的,所以用scrapy时,我想根据python3.6单独做一个虚拟的环境,因此就使用了如下指令:virturalenv  scrapyPython3.6  (g:\scrapyPython3.6)之后创建了我的scrapy项目    g:\scrapyDemo但是安装scrapy时,我是在全局安装,也就是会默认的安装在Python36的安装路径下...

2018-04-13 15:39:51 5980

原创 scrapy项目创建(一)

1.在命令符窗口下,进入项目所在路径下2.使用命令 scrapy --version 查看下scrapy的版本,目的:验证scrapy是否真正安装好3.输入:scrapy startproject 项目名称     备注:项目名称只能是字母数字下划线4.用parcharm打开相应路径下的文件5.此时一个scrapy项目已经创建好6.还可以通过在命令符窗口输入:scrapy  genspider  ...

2018-04-11 18:06:56 341

原创 python3.6在windows下安装scrapy遇到的问题总结

1.看到相关文档写到安装srcrapy,只要python安装时有点选pip,并且添加到path中,就可以在命令符窗口下直接输入:pip install scrapy   因此我也按照此步骤操作   出现了以下提示:Traceback (most recent call last): File "c:\users\46782\appdata\local\programs\python\python...

2018-04-11 17:20:31 589

空空如也

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

TA关注的人

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