Java笔试题

article/2025/10/1 15:41:06

随机从1到100000中间随机取出100个不同的质数,然后按从小到大的顺序排列

public class IsPrime { //工具类// 输入一个数,判断是否为质数,费时方法public static Integer isPrime(int num) {if (num == 0 || num == 1)return -1;for (int i = 2; i < num - 1; i++) {if (num % i == 0) return -1;}return num;}
}//        一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。List<Integer> listrandom=new ArrayList(); //1-1000000数组List<Integer> res=new ArrayList(); //所有质数集合for(int i=1;i<=100000;i++){listrandom.add(i);}for (Integer integer : listrandom) {if((IsPrime.isPrime(integer)!=-1)){res.add(IsPrime.isPrime(integer));}}
//        int a= (int) Math.floor(Math.random()*res.size());//100个不同的质数List<Integer> listRandom = new ArrayList<Integer>();//随机取出n条不重复的数据,这里我设置随机取100条数据for (int i = 100; i >=1; i--) {Random random = new Random();Math.random();//在数组大小之间产生一个随机数 jint j = random.nextInt(res.size()-1);//取得list 中下标为j 的数据存储到 listRandom 中listRandom.add(listrandom.get(j));//把已取到的数据移除,避免下次再次取到出现重复listrandom.remove(j);}
//        TreeSet 有序集合 从小到大排序List newList = new ArrayList(new TreeSet(listRandom));//循环取出 newList 中的数据for(Object l:newList) {System.out.println(l);}

 有一个999级的台阶,可以选择每次上1级或者2级,请实现一个方法,计算有多少种上楼的方式。

  public int JumpFloor(int target) {if (target == 1){return 1;}else if(target == 2){return 2;} else {return JumpFloor(target-1)+JumpFloor(target-2);}}

用JSON格式描述下面表格的数据

学号

姓名

性别

年龄

1001

张三

20

1002

李四

22

1003

王五

18

// json数组
//        static String json = "[
//        {'学号':'1001','姓名':张三,'性别':男,'姓名':26,'年龄':20},
//        {'学号':'1002','姓名':李四,'性别':女,'姓名':26,'年龄':22},
//        {'学号':'1003','姓名':王五,'性别':男,'姓名':26,'年龄':18},
//        ]";

已知两张表完成如下SQL语句:

学生基本信息:
StudentID NUMBER 学号NAME VARCHAR2(10) 姓名SEX VARCHAR2(2) 性别:男女CLASS VARCHAR2(2) 班级:1,2,3,4AGE NUMBER 年龄SUBJECT VARCHAR2(10) 最高分课程SCORE NUMBER 最高成绩学生考试成绩:ScoreID NUMBER 学号SUBJECT VARCHAR2(10) 课程YEAR NUMBER 考试年份SCORE NUMBER 成绩/*Navicat Premium Data TransferSource Server         : 0702Source Server Type    : MySQLSource Server Version : 50723Source Host           : localhost:3306Source Schema         : qqqTarget Server Type    : MySQLTarget Server Version : 50723File Encoding         : 65001Date: 13/02/2022 13:04:14
*/SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;-- ----------------------------
-- Table structure for student
-- ----------------------------
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student`  (`ID` int(10) NOT NULL COMMENT '学号',`NAME` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '姓名',`SEX` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '性别:男女',`CLASS` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '班级:1,2,3,4',`AGE` int(11) NULL DEFAULT NULL COMMENT '年龄',`SUBJECT` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '最高分课程',`SCORE` int(10) NULL DEFAULT NULL COMMENT '最高成绩',PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of student
-- ----------------------------
INSERT INTO `student` VALUES (1, '张三', '男', '1', 18, '语文', 90);
INSERT INTO `student` VALUES (2, '李四', '男', '2', 18, '语文', 100);
INSERT INTO `student` VALUES (3, '王五', '男', '2', 18, '语文', 90);
INSERT INTO `student` VALUES (4, '丽丽', '女', '1', 18, '英语', 90);SET FOREIGN_KEY_CHECKS = 1;/*Navicat Premium Data TransferSource Server         : 0702Source Server Type    : MySQLSource Server Version : 50723Source Host           : localhost:3306Source Schema         : qqqTarget Server Type    : MySQLTarget Server Version : 50723File Encoding         : 65001Date: 13/02/2022 13:04:46
*/SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;-- ----------------------------
-- Table structure for score
-- ----------------------------
DROP TABLE IF EXISTS `score`;
CREATE TABLE `score`  (`ID` int(10) NULL DEFAULT NULL COMMENT '学号',`SUBJECT` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '课程',`YEAR` int(255) NULL DEFAULT NULL COMMENT '考试年份',`SCORE` int(255) NULL DEFAULT NULL COMMENT '成绩'
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of score
-- ----------------------------
INSERT INTO `score` VALUES (1, '语文', 2021, 80);
INSERT INTO `score` VALUES (1, '数学', 2021, 90);
INSERT INTO `score` VALUES (1, '英语', 2021, 70);
INSERT INTO `score` VALUES (2, '语文', 2021, 100);
INSERT INTO `score` VALUES (2, '数学', 2021, 70);
INSERT INTO `score` VALUES (4, '英语', 2021, 23);
INSERT INTO `score` VALUES (3, '语文', 2021, 80);
INSERT INTO `score` VALUES (3, '数学', 2021, 12);
INSERT INTO `score` VALUES (3, '英语', 2021, 90);
INSERT INTO `score` VALUES (4, '语文', 2021, 90);
INSERT INTO `score` VALUES (4, '数学', 2021, 45);
INSERT INTO `score` VALUES (2, '语文', 2012, 50);
INSERT INTO `score` VALUES (2, '数学', 2012, 20);
INSERT INTO `score` VALUES (2, '英语', 2012, 30);SET FOREIGN_KEY_CHECKS = 1;

-- 列出2012年1班各科成绩的平均值。

SELECTAVG( sc.SCORE ) AS '平均成绩',sc.YEAR AS '年份',st.CLASS AS '班级',sc.SUBJECT AS '课程' 
FROMscore scLEFT JOIN student st ON sc.ID = st.ID 
WHEREsc.YEAR = 2021AND st.CLASS = 1 
GROUP BYsc.SUBJECT 

 

-- 列出2012年2班数学成绩不及格的学生人员列表。

SELECTst.`NAME` AS '姓名',sc.YEAR AS '年份',st.CLASS AS '班级',sc.SUBJECT AS '课程',sc.SCORE AS '成绩' 
FROMscore scLEFT JOIN student st ON sc.ID = st.ID 
WHEREsc.YEAR = 2012 AND st.CLASS = 2 AND sc.SUBJECT = '数学' AND sc.SCORE < 60


-- 查出每位同学成绩所有成绩中分数最高的科目、成绩并更新到学生基本信息中最高分课程和最高成绩字段中。

UPDATE student AS A
INNER JOIN (
SELECTMAX( sc.SCORE ) AS maxscore,sc.ID AS maxid,sc.`SUBJECT` maxsub 
FROMscore scLEFT JOIN student st ON sc.ID = st.ID 
GROUP BYsc.ID ) AS B ON A.ID = B.maxid SET A.ID = B.maxid,A.SUBJECT = B.maxsub,A.score = B.maxscore

final, finally, finalize 的区别

  • final 用于申明属性,方法和类,表示属性不可变,方法不可以被改变,类不可以被继承。
  • finally 是异常处理语句结构中,表示总是执行的部分。
  • finallize    在垃圾回收器将内存中的对象进行清空之前,允许使用finalize()方法做清理工作

Error 和 Exception 的区别?

在这里插入图片描述

 1,Exception是程序正常运行中,可以预料的意外情况,可以被捕获,进行相应的处理.
2.Error 是指正常情况下,不大可能出现的情况,绝大部分的Error 都会导致程序处于非正常的,不可恢复的状态, 不需要捕获。

MVC的各个部分都有那些技术来实现

  • model: 模型层 应用的业务逻辑(如:数据库的操作),通过JavaBean实现

     (hibernate、mybatis、ibatis)

  • view:视图层,用于与用户的交互,主要由jsp页面产生。
  • (jsp、FreeMarker、EL、)
  • controller:应用层  处理过程控制,一般是一个servlet。

java字符串反转

1、用stringBuffer或者stringBuilder自带的reverse方法

    public static String reverseTestOne(String s) {return new StringBuffer(s).reverse().toString();}

2.stringBuffer倒序拼接

   

 public static String reverseTestThree(String s) {StringBuffer sb = new StringBuffer();for (int i = s.length() - 1; i >= 0; i--) {sb.append(s.charAt(i));}return sb.toString();}

3、切割递归反转

  public static String reverseTestSix(String s) {if (s.length() <= 1) {return s;}return reverseTestSix(s.substring(1)) + s.substring(0, 1);}

4、利用栈的先进后出

   public static String reverseTestFour(String s) {StringBuffer sb = new StringBuffer();Stack stack = new Stack();for (int i = 0; i < s.length(); i++) {stack.push(s.charAt(i));}while (!stack.isEmpty()) {//stack会返回栈顶值,并且会把该值删除sb.append(stack.pop());}return sb.toString();}

3. SQL间答题
表结构:
1、表名: g_ cardapply
字段(字段
名/类型/长度):
g applynpo varchar 8: /申请单号(关键字)
g_ applydate bigint 8; /申请日期
g_ state varchar 2; //申请状态
2、表名: g_ _cardapplydetail
字段(字段名/类型/长度):
g_ _applyno varchar //申请单号(关键字)
g_ name varchar 30; //申请人姓名
g_ idcard varchar  18; //申请人身份证号
g_ state varchar 2; //申请状态
其中,两个表的关联字段为申请单号。
题目:

-- 1.查询身份证号码为440401430103082的申请日期

SELECTa.g_applydate,a.g_applyno 
FROMg_cardapply aLEFT JOIN g_cardapplydetail b ON a.g_applyno = b.g_applyno 
WHEREb.g_idcard = '440401430103082'

-- 2.查询同一个身份证号码有两条以上记录的身份证号码以及记录个数

SELECTCOUNT( 1 ) 
FROM( SELECT * FROM g_cardapplydetail AS s WHERE g_idcard = '440401430103082' ) AS a 
HAVINGcount( 1 ) >= 2

-- 3.将身份证号码为440401430103082的记录在两个表中的申请状态均改为07

​​​​​​​UPDATE g_cardapply a
LEFT JOIN g_cardapplydetail b ON a.g_applyno = b.g_applyno 
SET a.g_state = '1',
b.g_state = '1' 
WHEREb.g_idcard = '440401430103082'

-- 4、删除g_ _cardapplydetail 表中所有姓李的记

DELETE 
FROMg_cardapplydetail 
WHEREg_applyno = ( SELECT g_applyno FROM ( SELECT g_applyno FROM g_cardapplydetail WHERE g_name LIKE '李%' ) aa );

 java的字符类型采用的编码方案是Unicode

构造函数:方法名与类名相同   主要作用是完成对垒的初始化工作 一般在创建新对象时,系统自动调用构造函数。

设三个变量x=1,y=2,z=3,则表达式y+=z--/++x的值为?

i++ 是先引用后增加 ,先在i所在的表达式中使用i的当前值,后让i加1

++i 是先增加后引用,让i先加1,然后在i所在的表达式中使用i的新值

他们其实都是i=i+1的意思,但是在程序中运行的时候的执行的顺序不一样。

i-- 和--i  也同理

上题y=2+(z--/++x)=2+(3/2)=3

字符串压缩。

利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。

 输入:"aabcccccaaa"
 输出:"a2b1c5a3"
 输入:"abbccd"
 输出:"abbccd"
 解释:"abbccd"压缩后为"a1b2c2d1",比原字符串长度更长。
class Solution {public String compressString(String S) {if (S.length() == 0) { // 空串处理return S;}StringBuffer ans = new StringBuffer();int cnt = 1;char ch = S.charAt(0);for (int i = 1; i < S.length(); ++i) {if (ch == S.charAt(i)) {cnt++;} else {ans.append(ch);ans.append(cnt);ch = S.charAt(i);cnt = 1;}}ans.append(ch);ans.append(cnt);return ans.length() >= S.length() ? S : ans.toString();}
}

基本表结构:

        student(sno,sname,sage,ssex)学生表
        course(cno,cname,tno) 课程表
        sc(sno,cno,score) 成绩表

        teacher(tno,tname) 教师表

101,查询课程1的成绩比课程2的成绩高的所有学生的学号
select a.sno from
(select sno,score from sc where cno=1) a,
(select sno,score from sc where cno=2) b
where a.score>b.score and a.sno=b.sno

102,查询平均成绩大于60分的同学的学号和平均成绩
select a.sno as "学号", avg(a.score) as "平均成绩
from
(select sno,score from sc) a 
group by sno having avg(a.score)>60

103,查询所有同学的学号、姓名、选课数、总成绩
select a.sno as 学号, b.sname as 姓名,
count(a.cno) as 选课数, sum(a.score) as 总成绩
from sc a, student b
where a.sno = b.sno
group by a.sno, b.sname

或者:

selectstudent.sno as 学号, student.sname as 姓名,
 count(sc.cno) as 选课数, sum(score) as 总成绩
from student left Outer join sc on student.sno = sc.sno
group by student.sno, sname

104,查询姓“张”的老师的个数

selectcount(distinct(tname)) from teacher where tname like '%‘
或者:
select tname as "姓名", count(distinct(tname)) as "人数
from teacher 
where tname like'%'
group by tname

105,查询没学过“张三”老师课的同学的学号、姓名
select student.sno,student.sname from student
where sno not in (select distinct(sc.sno) from sc,course,teacher
where sc.cno=course.cno and teacher.tno=course.tno and teacher.tname='张三')

106,查询同时学过课程1和课程2的同学的学号、姓名
select sno, sname from student
where sno in (select sno from sc where sc.cno = 1)
and sno in (select sno from sc where sc.cno = 2)
或者:

selectc.sno, c.sname from
(select sno from sc where sc.cno = 1) a,
(select sno from sc where sc.cno = 2) b,
student c
where a.sno = b.sno and a.sno = c.sno
或者:

select student.sno,student.sname from student,sc where student.sno=sc.sno and sc.cno=1
and exists( select * from sc as sc_2 where sc_2.sno=sc.sno and sc_2.cno=2)

107,查询学过“李四”老师所教所有课程的所有同学的学号、姓名
select a.sno, a.sname from student a, sc b
where a.sno = b.sno and b.cno in
(select c.cno from course c, teacher d where c.tno = d.tno and d.tname = '李四')

或者:

select a.sno, a.sname from student a, sc b,
(select c.cno from course c, teacher d where c.tno = d.tno and d.tname = '李四') e
where a.sno = b.sno and b.cno = e.cno

108,查询课程编号1的成绩比课程编号2的成绩高的所有同学的学号、姓名
select a.sno, a.sname from student a,
(select sno, score from sc where cno = 1) b,
(select sno, score from sc where cno = 2) c
where b.score > c.score and b.sno = c.sno and a.sno = b.sno

109,查询所有课程成绩小于60分的同学的学号、姓名
select sno,sname from student
where sno not in (select distinct sno from sc where score > 60)

110,查询至少有一门课程与学号为1的同学所学课程相同的同学的学号和姓名
select distinct a.sno, a.sname
from student a, sc b
where a.sno <> 1 and a.sno=b.sno and
b.cno in (select cno from sc where sno = 1)

或者:

select s.sno,s.sname 
from student s,
(select sc.sno 
from sc
where sc.cno in (select sc1.cno from sc sc1 where sc1.sno=1)and sc.sno<>1
group by sc.sno)r1
where r1.sno=s.sno

基本表结构:

        student(sno,sname,sage,ssex)学生表
        course(cno,cname,tno) 课程表
        sc(sno,cno,score) 成绩表

        teacher(tno,tname) 教师表

111、把“sc”表中“王五”所教课的成绩都更改为此课程的平均成绩
update sc set score = (select avg(sc_2.score) from sc sc_2 wheresc_2.cno=sc.cno)
from course,teacher where course.cno=sc.cno and course.tno=teacher.tno andteacher.tname='王五'


112、查询和编号为2的同学学习的课程完全相同的其他同学学号和姓名
这一题分两步查:

1,

select sno
from sc
where sno <> 2
group by sno
having sum(cno) = (select sum(cno) from sc where sno = 2)

2,
select b.sno, b.sname
from sc a, student b
where b.sno <> 2 and a.sno = b.sno
group by b.sno, b.sname
having sum(cno) = (select sum(cno) from sc where sno = 2)

113、删除学习“王五”老师课的sc表记录
delete sc from course, teacher
where course.cno = sc.cno and course.tno = teacher.tno and tname = '王五'

114、向sc表中插入一些记录,这些记录要求符合以下条件:
将没有课程3成绩同学的该成绩补齐, 其成绩取所有学生的课程2的平均成绩
insert sc select sno, 3, (select avg(score) from sc where cno = 2)
from student
where sno not in (select sno from sc where cno = 3)

115、按平平均分从高到低显示所有学生的如下统计报表:
-- 学号,企业管理,马克思,UML,数据库,物理,课程数,平均分
select sno as 学号
,max(case when cno = 1 then score end) AS 企业管理
,max(case when cno = 2 then score end) AS 马克思
,max(case when cno = 3 then score end) AS UML
,max(case when cno = 4 then score end) AS 数据库
,max(case when cno = 5 then score end) AS 物理
,count(cno) AS 课程数
,avg(score) AS 平均分
FROM sc
GROUP by sno
ORDER by avg(score) DESC

116、查询各科成绩最高分和最低分:

以如下形式显示:课程号,最高分,最低分
select cno as 课程号, max(score) as 最高分, min(score) 最低分
from sc group by cno

select  course.cno as '课程号'
,MAX(score) as '最高分'
,MIN(score) as '最低分'
from sc,course
where sc.cno=course.cno
group by course.cno

117、按各科平均成绩从低到高和及格率的百分数从高到低顺序
SELECT t.cno AS 课程号,
max(course.cname)AS 课程名,
isnull(AVG(score),0) AS 平均成绩,
100 * SUM(CASE WHEN isnull(score,0)>=60 THEN 1 ELSE 0 END)/count(1) AS 及格率
FROM sc t, course
where t.cno = course.cno
GROUP BY t.cno
ORDER BY 及格率 desc

118、查询如下课程平均成绩和及格率的百分数(用"1行"显示): 

企业管理(001),马克思(002),UML (003),数据库(004) 
select 
avg(case when cno = 1 then score end) as 平均分1,
avg(case when cno = 2 then score end) as 平均分2,
avg(case when cno = 3 then score end) as 平均分3,
avg(case when cno = 4 then score end) as 平均分4,
100 * sum(case when cno = 1 and score > 60 then 1 else 0 end) / sum(casewhen cno = 1 then 1 else 0 end) as 及格率1,
100 * sum(case when cno = 2 and score > 60 then 1 else 0 end) / sum(casewhen cno = 2 then 1 else 0 end) as 及格率2,
100 * sum(case when cno = 3 and score > 60 then 1 else 0 end) / sum(casewhen cno = 3 then 1 else 0 end) as 及格率3,
100 * sum(case when cno = 4 and score > 60 then 1 else 0 end) / sum(casewhen cno = 4 then 1 else 0 end) as 及格率4
from sc

119、查询不同老师所教不同课程平均分, 从高到低显示
select max(c.tname) as 教师, max(b.cname) 课程, avg(a.score) 平均分
from sc a, course b, teacher c
where a.cno = b.cno and b.tno = c.tno
group by a.cno
order by 平均分 desc
或者:
select r.tname as '教师',r.rname as '课程' , AVG(score) as '平均分'
from sc,
(select  t.tname,c.cno as rcso,c.cname as rname
from teacher t ,course c
where t.tno=c.tno)r
where sc.cno=r.rcso
group by sc.cno,r.tname,r.rname 
order by AVG(score) desc

120、查询如下课程成绩均在第3名到第6名之间的学生的成绩:
-- [学生ID],[学生姓名],企业管理,马克思,UML,数据库,平均成绩
select top 6 max(a.sno) 学号, max(b.sname) 姓名,
max(case when cno = 1 then score end) as 企业管理,
max(case when cno = 2 then score end) as 马克思,
max(case when cno = 3 then score end) as UML,
max(case when cno = 4 then score end) as 数据库,
avg(score) as 平均分
from sc a, student b
where a.sno not in 

(select top 2 sno from sc where cno = 1 order by score desc)
  and a.sno not in (select top 2 sno from sc where cno = 2 order by scoredesc)
  and a.sno not in (select top 2 sno from sc where cno = 3 order by scoredesc)
  and a.sno not in (select top 2 sno from sc where cno = 4 order by scoredesc)
  and a.sno = b.sno
group by a.sno


http://chatgpt.dhexx.cn/article/k6ps083b.shtml

相关文章

Java期末题库

根据如下图所示数据库信息&#xff0c;完成1-3小题。 &#xff08;1&#xff09;使用JDBC数据库连接技术&#xff0c;编写JDBCUtil工具类&#xff0c;在该类中定义getCon方法用于获得与数据库的连接对象&#xff0c;定义closeAll方法用于释放连接对象等资源。 import java.sql…

2022史上最全java面试题题库大全800题含答案

2022史上最全java面试题题库大全800题含答案 1、 meta标签的作用是什么 2、 ReenTrantLock可重入锁&#xff08;和synchronized的区别&#xff09;总结 3、 Spring中的自动装配有哪些限制&#xff1f; 4、 什么是可变参数&#xff1f; 5、 什么是领域模型(domain model)&#…

全国计算机等级考试——二级JAVA完整大题题库【五十三道】

全国计算机等级考试二级 JAVA 题目内容 编写于2023.04.10 分为40道选择题和3道大题&#xff08;大题是程序填空类型&#xff09; 其中选择题只能进去做一次&#xff0c;一旦退出来则不可再进&#xff08;注意&#xff01;&#xff09;。大题可以重复进入&#xff0c;重复做。…

java面试题题库大全800题

1、 meta标签的作用是什么 2、 ReenTrantLock可重入锁&#xff08;和synchronized的区别&#xff09;总结 3、 Spring中的自动装配有哪些限制&#xff1f; 4、 什么是可变参数&#xff1f; 5、 什么是领域模型(domain model)&#xff1f;贫血模型(anaemic domain model)和充血模…

Java基础习题库

Java基础习题库 目录 Java基础习题库 一、Java基础之概述 1.JDK,JRE,JVM三者之间的关系&#xff0c;以及JDK、JRE包含的主要结构有哪些 2.为什么要配置path环境变量&#xff1f;如何配置&#xff1f; 3.创建如下的类&#xff0c;使得运行的话可以输出&#xff1a; 4.编译…

Javase MINA框架

MINA是一个基于TCP/IP通信的JAVA框架&#xff0c;MINA可以帮助我们快速开发高性能、高扩展的网络通信应用&#xff0c;提供了事件驱动、异步操作的编程模型&#xff0c;默认使用NIO作为底层支持 客户端实现步骤&#xff1a;

基于Java后台(Springboot框架)+前端小程序(MINA框架)+Mysql数据库的疫苗预约小程序系统设计与实现

项目背景和意义 目的&#xff1a;本课题主要目标是设计并能够实现一个基于微信小程序疫苗预约系统&#xff0c;前台用户使用小程序&#xff0c;后台管理使用基JAVAMySql技术&#xff1b;通过后台添加疫苗内容、价格、开放预约的日期和时间段&#xff0c;用户通过小程序登录&…

Spring Boot Starter之Mina框架封装

封装目的 目前是将Mina与Springboot的自动装配然后结合自身公司的业务对Mina进行统一的封装&#xff0c;目的是让代码可读性提高&#xff0c;也跟加便于使用&#xff0c;不用再写重复的代码 功能介绍 实现功能&#xff1a;可以通过注解的方式自动配置Mina服务端相关的代码 …

java mina 框架 获取字节_浅谈Java的Mina框架传递对象

接触java的Mina框架已经有很多时间了&#xff0c;在网上也读过了很多的相关文章&#xff0c;发现Mina框架的确是一个值得拿来好好研究的东西&#xff0c;前些日子写了一个山寨QQ项目&#xff0c;其中的通信部分用到了java中自带的InputStream&#xff0c;OutputStream&#xff…

Java网络编程之MINA框架(1)

1、MINA&#xff1a; 一个简洁易用的基于TCP/IP通信的JAVA框架 2、下载地址&#xff1a; http://mina.apache.org/downloads-mina_2_0.html 3、至少需要&#xff1a; (在下载的文件中找以下两个jar包导入工程中) mina-core-2.0.21.jar、slf4j-api-1.7.26.jar 4、开发一个Mina应…

浅谈Mina框架

一、简介 Apache Mina Server 是一个网络通信应用框架&#xff0c;也就是说&#xff0c; 也可以提供JAVA对象的序列化服务、虚拟机管道通信服务等&#xff09;&#xff0c;Mina可以帮助我们快速开发高性能、高扩展性的网络通信应用&#xff0c;Mina提供了事件驱动、异步&#…

java mina框架实例_Apache Mina框架实践

1.为什么要用Apache Mina框架 ApacheMina Server 是一个网络通信应用框架,Mina 可以帮助我们快速开发高性能、高扩展性的网络通信应用&#xff0c;Mina 提供了事件驱动、异步(Mina 的异步IO 默认使用的是JAVANIO 作为底层支持)操作的编程模型。 2.ApacheMina框架使用 Mina的执行…

mina框架详解-小白收藏

目录 mina框架详解 1 简介 1.1 工作流程 1.2 服务端流程 2 简单的TCPServer 3 简单的TCPClient 4 介绍Mina的TCP的主要接口 5 日志配置 6 过滤器 7 协议编解码器 8 线程模型配置 mina框架详解 1 简介 Apache Mina Server 是一个网络通信应用框架&#xff0c;也就是…

Mina网络通信框架

认识 Mina Apache Mina Server 是一个网络通信应用框架&#xff0c;与 Netty 出自同一作者&#xff0c;Netty 借鉴了部分 Mina 的设计思路。 Mina 主要是对基于 TCP/IP、UDP/IP 协议栈的通信框架&#xff0c;Mina 可以帮助我们快速开发高性能、高扩展性的网络通信应用&#x…

MINA框架

MINA框架 一、小程序MINA框架分为三个部分&#xff1a; 有 View(视图层)、App Service(逻辑层)和 Natice(系统层)。 1、View(视图层) 视图层包含了小程序多个页面、每个页面都有WXML文件和 WXSS文件&#xff0c;是搭建页面视图的结构和展现样式。 2、App Service(逻辑层) …

图文详解mina框架

Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP、UDP/IP协议栈的通信框架(当然,也可以提供JAVA 对象的序列化服务、虚拟机管道通信服务等),Mina 可以帮助我们快速开发高性能、高扩展性的网络通信应用,Mina 提供了事件驱动、异步(Mina 的异步…

要点初见:用Python进行微观交通模型仿真——基于SUMO的伯克利开源项目Flow Project初探与拓展

后续拓展&#xff1a;要点初见&#xff1a;安装教程与二度拓展——基于SUMO的Flow Project&#xff08;附代码链接&#xff09; 通俗来讲&#xff0c;微观交通模型仿真就是从车辆个体的视角&#xff08;看动画&#xff09;进行交通流仿真&#xff0c;对车辆个体随时间、空间的…

爬取豆瓣电影TOP100

爬虫 首先我们在网站中打开我们要爬的网站 “http://maoyan.com/board/4” 这就是豆瓣高分电影前100的榜单. 然后我们点击f12&#xff0c;再刷新一次&#xff0c;就可以看到网页的基本信息了。 这时候我们来看一下第一部‘我不是药神中的代码信息。’ 一个dd节点为一个电影的…

2020 年软件设计师考试上午真题

2020 年软件设计师考试上午真题答案解析 1、在程序执行过程中&#xff0c;高速缓存(Cache) 与主存间的地址映射由&#xff08;D &#xff09;。 A、操作系统进行管理 B、存储管理软件进行管理 C、程序员自行安排 D、硬件自动完成 解:CACHE与主存地址映射由硬件完成…

基于LLVM的编译原理简明教程 (1) - 写编译器越来越容易了

基于LLVM的编译原理简明教程 (1) - 写编译器越来越容易了 进入21世纪&#xff0c;新的编程语言如雨后春笋一样不停地冒出来。需求当然是重要的驱动力量&#xff0c;但是在其中起了重要作用的就是工具链的改善。 2000年&#xff0c;UIUC的Chris Lattner主持开发了一套称为LLVM…