- 博客(31)
- 收藏
- 关注
原创 订单管家
订单管家1. 简介该系统实现了一个订单管理系统,整体功能模块划分为:公共命令、入口命令、账户信息、商品信息四个模块。用户权限分为管理员和客户,管理员具有上下架商品以及管理用户的权限,普通用户具有浏览商品,购买商品以及浏览订单的权限。2. 应用技术反射、注解、MySQL数据库、JDBC编程、数据结构、Lambda表达式3. 意义JavaSE知识的实践培养数据库编程能力锻炼应用已有技...
2019-08-24 16:57:10
549
原创 JDK1.6之后关于synchronized的优化
JDK1.6之后关于synchronized优化:CAS(compare and swap)CAS(O,V,N) O:当前线程认为主内存的值 V:主内存中的实际值 N:希望更新的值执行CAS的线程,只有首次获得CPU时间片段的线程才能修改主内存的值例如: 有20张票,int ticket = 20; 有三个线程在卖票 线程 - 1 Ticket-1 =...
2019-07-08 22:26:05
386
原创 类集知识点
类集(多线程+数组结构)----JDK1.2ArrayList、LinkedList、Vector的关系和区别(源码)a. ArrayList基于数组实现List,采用懒加载策略,当一次调用add方法时,数组才会初始化为10(默认值)。ArrayList扩容为原先数组的1.5倍,ArrayList采用异步操作,线程不安全,性能较高,普通的插入ArrayList已经能够满足要求,因为默认为尾...
2019-07-08 22:22:39
176
原创 synchronized与ReentrantLock的关系和区别
synchronized与ReentrantLock的关系和区别?synchronized与ReentrantLock都属于独占锁的实现,都支持可重入。区别:a. synchronized是关键字,JVM层面的实现;ReentrantLock是Java语言层面实现的(“管程”)b. ReentrantLock具备一些synchronized不具备的特性,如响应中断、支持超时、支持非阻塞式...
2019-07-08 22:18:41
156
原创 利用Java的I/O流实现图片的压缩以及解压
文件压缩:public class TestMerge { public static void merge(String srcFiles, String destFilePath) { //判断原文件路径是否为空 if (srcFiles == null) { throw new IllegalArgumentException...
2019-05-30 00:11:55
2583
2
原创 java I/O流中,文件的合并与拆分
文件的合并:例:将两个图片进行合并,一张图片大小为19KB,一张图片大小为61KB。public class TestMerge { public static void merge(String[] srcFiles, String destFilePath) { if (srcFiles == null) { throw new Illeg...
2019-05-28 13:30:41
206
原创 三大特殊类——String类、Object类、包装类
String类String类的实例化:String str = “hello”;String str = new String(“hello”);String类 == 和 equals 的区别:1."==" :进行的数值比较,在基本数据类型中比较的是数值的大小,在String类中比较的是两个字符串对象的内存地址数值。2.“equals()”:可以进行字符串内容的...
2019-04-15 00:25:43
394
原创 代理设计模式
代理设计模式:两个字类共同实现一个接口,其中一个子类负责真实业务的实现,另外一个子类完成辅助真实业务主题的操作。场景假设,我们在买手机的时候,仅仅完成的是一个买手机的过程,而在买手机的前后过程还包括制造手机,手机的售后服务等,这些都是隐含在买手机中的,生产手机、手机售后保障都是交由其它的来负责。//业务为买手机interface ISubject { void buyPhone();...
2019-04-14 14:30:01
147
原创 抽象工厂模式
以下以例子来总结几种工厂模式,如有需要,请花点时间耐心阅读,谢谢。3. 抽象工厂模式场景假设:小明同学打算买一部手机,但是现在市面上的手机品牌大致分为两种:苹果手机和华为手机,对应的操作系统为苹果系统和安卓系统,现在需要设计一种模式,让客户选择手机品牌,自动对应于操作系统。interface Phone { void printPhone();}public class Iphon...
2019-04-14 12:48:16
139
原创 简单工厂模式
简单工厂设计模式:情景:某人准备去买电脑,到电脑商城后发现两款电脑他很喜欢,一款是Macbook Pro,另一款是Surface Pro。//创建接口电脑interface Computer { void printComputer();}//创建具体工厂MacbookComputer实现接口电脑class MacbookProComputer implements Com...
2019-04-14 12:47:38
202
原创 模板设计模式
以下以例子来总结几种工厂模式,如有需要,请花点时间耐心阅读,谢谢。模板设计模式:coffee的冲泡法:1.将水煮沸 (boilWater())2.用沸水冲泡coffee (brew())3.将coffee倒进杯子(pourInCup())4.加糖和牛奶(addCondiments())Tea的冲泡法:1.将水煮沸(boilWater())2.用沸水浸泡Tea(brew())...
2019-04-14 12:47:26
138
原创 java小练习4:左旋数组
将一个数组从左开始第几位之前的进行旋转:左旋数组如:将"abcdef"第2位之前(a为0号位置)进行旋转----》“cdefab”函数原型:public static void leftRotateString(String str,int n){}思路:可利用substring(int beginIndex)、substring(int beginIndx,int endInde...
2019-04-12 23:01:50
302
原创 java小练习3:字符串逆置
题目:=====i am biter 逆置为:biter am i函数原型:public static String reverseSentence(String str) {}public class Test { public static void swap(char[] ch,int left,int right) { while(left<right) { ...
2019-04-12 22:33:57
240
原创 java小练习2:统计字符串中数字的个数
统计字符串中数字个数//如:“abc21b416u” ===> 输出5函数原型:public static int isNumeric(String str){}这道题有两种方法,一是将字符串变为字符数组,然后判断字符数组中每个元素是否为数字,如果为数字,则计数器加1;二是利用charAt()判断字符串每个下标所对应的字符是否为数字,如果为数字,则计数器加1,最后输出计数器...
2019-04-12 20:30:13
10450
2
原创 java小练习:压缩字符串
压缩字符串:例如"aabbccdaa"——>“a2b2c2d1a2”最初的想法是先将字符串转换为字符数组,遍历整个字符数组,将相同的字符个数计算出来,再利用deleteCharAt()和insert()去修改字符串,其间出现了数组越界异常,以及方法不具有普遍性。//最初代码public class Test { public static String stringCompr...
2019-04-12 19:50:28
382
原创 java基础知识6:面向对象编程——抽象类与接口、三个设计模式
抽象类只是在普通类的基础上扩充了一些抽象的方法,所谓的抽象方法指的是只声明而为实现的方法(即没有方法体)。所有的抽象方法要求使用abstract关键字来定义,并且抽象方法所在的类也一定要使用abstract关键字来定义,表示抽象类。抽象类中包含抽象方法,而抽象方法不包含方法体,因此抽象类不能直接产生实例化对象。abstract class Person { //抽象类 private ...
2019-04-10 22:44:11
372
原创 java基础知识5:面向对象编程———类与对象(下)
代码块:使用{ }定义的一段代码。根据代码块定义的位置以及关键字,又可分为以下四种:• 普通代码块:定义在方法中的代码块• 构造块:定义在类中的代码块(不加修饰符)• 静态块:使用static定义的代码块• 同步代码块构造块优先于构造方法执行,每产生一个新的对象就调用一次构造块,构造块可以进行简单的逻辑操作。class Person { { System.out.print...
2019-04-09 17:13:57
227
原创 java基础知识4:面向对象编程——类与对象(上)
面向对象三大特征:1)封装性(private封装) 2)继承性 3)多态性面向对象的名词扩展:1)OOA:面向对象分析2)OOD:面向对象设计3)OOP:面向对象编程所谓的类就是指共性的概念,而对象指的是一个具体的、可以使用的事物。首先产生类(类是生产对象的蓝图),而后才可以产生对象。对象的所有行为,一定在类中进行了完整的定义。类中的组成: 属性(变量,描述每个对象的具体特点)、方...
2019-04-07 20:33:08
300
原创 java基础知识3:数组的定义与使用
数组指的是一组相关类型的变量集合,并且这些变量可以按照统一的方式进行操作。可变参数编程:int… +变量 变量可以是数组数组动态初始化(声明并开辟数组): 数据类型[ ] 数组名称 = new 数据类型 [长度];数组本身是一个有序的集合操作,所以对于数组的内容操作往往采用循环的模式完成。(数组是一个有限的集合,采用for循环)在java中有一种动态取得数组长度的方法:数组名称....
2019-04-06 17:59:21
291
原创 java基础知识2:逻辑控制和方法使用
java中System.out.print()、System.out.println()、System.out.printf()的区别。(1)System.out.print():参数不能为空,且输入结束后不会换行,即将它的参数显示在命令行,并将输出光标定位在显示的最后一个字符后。(2)System.out.println():可以不写参数,会在输出完毕后进行换行,产生新行。即将它的参数...
2019-04-05 00:20:32
166
原创 java基础知识1:初识java简单语句和语法、数据类型与运算符
1、Java中的类和方法:java是面向对象的类就可以看做一个对象类中包含属性和方法属性是这个对象拥有什么方法是这个对象可以做什么简单举例:类:Person属性: eyes mouth方法:playPerson类就表示一个对象 或者是一类对象 这里就是指“人”人都有眼睛、嘴巴 这些就是人的属性人能够做什么? 答: play play()方法就是人可以做什么就是这个对象的动...
2019-04-04 22:14:22
279
原创 关于位运算和自定义函数的小练习
编写函数:unsigned int reverse_bit(unsigned int value);这个函数的返回值value的二进制位模式从左到右翻转后的值。如:在32位机器上25这个值包含下列各位:00000000000000000000000000011001翻转后:(2550136832)10011000000000000000000000000000程序结果返回:25...
2019-04-02 16:48:14
164
原创 逻辑操作符及二维数组的小练习
5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果A选手说:B第二,我第三;B选手说:我第二,E第四;C选手说:我第一,D第二;D选手说:C最后,我第三;E选手说:我第四,A第一;比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。分析题目条件,可以知道A,B,C,D,E都可以取五种状态,即第一、第二、第三、第四、第五,在程序中用1,2,3,4,5来表示,首先可以利用...
2019-04-01 00:03:22
211
原创 关于位操作符的小练习
写一个函数返回参数二进制中 1 的个数。比如: 15 0000 1111 4 个 1程序原型:int count_one_bits(unsigned int value){// 返回 1的位数}这里主要利用位操作符的作用#include <stdio.h>#include <stdlib.h>int count_one_bits(unsigned...
2019-03-31 13:33:31
194
原创 小练习
实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定,输入9,输出99口诀表,输入12,输出1212的乘法口诀表。#include <stdio.h>#include <stdlib.h>void MulTable(int n) { int i=0; for(i=1;i<n+1;++i) { int j=0; for(j=1;i<=i...
2019-03-27 00:13:23
124
原创 小游戏
完成猜数字游戏。#include <stdio.h>#inlcude <stdlib.h>void menu(){ printf("***********************\n"); printf("*********1.play*******\n"); printf("*********0.exit********\n"); printf("***...
2019-03-26 12:44:36
278
原创 小作业
在屏幕上输出以下图案:/*/***/*****/*******/*********/***********/*************/***********/*********/*******/*****/***/*方法一:利用switch函数#include <stdio.h>#include <stdlib.h>int mai...
2019-03-22 22:54:14
205
原创 四种数组交换方法、指针及swap函数实现方法
将数组A中的内容和数组B中的内容进行交换。方法一:运用数组元素间进行逻辑运算来实现交换#include &amp;lt;stdio.h&amp;gt;#include &amp;lt;stdlib.h&amp;gt;int main(){ int i,j,k; int A[10]; int B[10]; printf(&quot;请输入数组A的内容:&quot;);
2019-03-19 21:24:52
25701
1
原创 常量交换、输出数组最大值、数组按序排列及求解最大公约数的基本方法
给定两个整形变量的值,将两个值的内容进行交换。#include <stdio.h>#include <stdlib.h>int main(){ int x = 1; int y = 0; int tmp; //定义一个临时变量来进行交换 tmp = x; x = y; y = tmp; printf("x=%d y=%d",x,y); syste...
2019-03-17 14:22:29
245
原创 一个菜鸡的逆袭之路
大家好,我是一名消防工程的大学生,可能很多人并不知道消防工程这个专业,但是这并不影响我现在来到优快云博客论坛,如果你发现我的有哪些不对或者不足之处,请您谅解,您可通过评论来告诫我,我会采纳改正并不断完善。作为一名刚入门的小白,我希望我的第一篇博客能够让和我一样走在小白逆袭路上的人看到我,和我一起进步,一起探讨,共同进步。其次,我希望在此立下的flag能够鞭策我不断的学习,不断的进步。作为小白...
2019-03-15 11:28:44
771
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人